Merge branch 'megan/t23400-fix_mem_leak' into 'master'

See merge request SchedMD/dev/slurm!2043
diff --git a/src/common/openapi.c b/src/common/openapi.c
index 0aa2915..9a66bc3 100644
--- a/src/common/openapi.c
+++ b/src/common/openapi.c
@@ -257,16 +257,17 @@
 	if (!obj)
 		return;
 
-	xfree(x->command);
-	xfree(x->plugin.type);
-	xfree(x->plugin.name);
-	xfree(x->plugin.data_parser);
 	xfree(x->client.source);
+	xfree(x->command);
+	xfree(x->plugin.accounting_storage);
+	xfree(x->plugin.data_parser);
+	xfree(x->plugin.name);
+	xfree(x->plugin.type);
+	xfree(x->slurm.cluster);
+	xfree(x->slurm.release);
 	xfree(x->slurm.version.major);
 	xfree(x->slurm.version.micro);
 	xfree(x->slurm.version.minor);
-	xfree(x->slurm.release);
-	xfree(x->slurm.cluster);
 	xfree(x);
 }
 
diff --git a/src/slurmrestd/plugins/openapi/slurmdbd/qos.c b/src/slurmrestd/plugins/openapi/slurmdbd/qos.c
index dbafd41..b1ad265 100644
--- a/src/slurmrestd/plugins/openapi/slurmdbd/qos.c
+++ b/src/slurmrestd/plugins/openapi/slurmdbd/qos.c
@@ -176,6 +176,7 @@
 					 qos_list, ctxt);
 	} else if (ctxt->method == HTTP_REQUEST_POST) {
 		openapi_resp_single_t post = { 0 };
+		openapi_resp_single_t *post_ptr = &post;
 
 		if (!DATA_PARSE(ctxt->parser, OPENAPI_SLURMDBD_QOS_RESP, post,
 				ctxt->query, ctxt->parent_path) &&
@@ -183,6 +184,7 @@
 			qos_list = post.response;
 			update_qos(ctxt, true, qos_list);
 		}
+		FREE_OPENAPI_RESP_COMMON_CONTENTS(post_ptr);
 	} else {
 		resp_error(ctxt, ESLURM_REST_INVALID_QUERY, __func__,
 			   "Unsupported HTTP method requested: %s",