Skip to content

Commit 7e81f6b

Browse files
committed
Low: tools: Free memory in crm_resource.c:handle_metadata()
Coverity just caught this for some reason. Signed-off-by: Reid Wahl <[email protected]>
1 parent c0c2d38 commit 7e81f6b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

tools/crm_resource.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1617,7 +1617,6 @@ handle_metadata(pcmk_resource_t *rsc, pcmk_node_t *node, cib_t *cib_conn,
16171617
char *standard = NULL;
16181618
char *provider = NULL;
16191619
char *type = NULL;
1620-
char *metadata = NULL;
16211620
lrmd_t *lrmd_conn = NULL;
16221621

16231622
rc = lrmd__new(&lrmd_conn, NULL, NULL, 0);
@@ -1632,6 +1631,8 @@ handle_metadata(pcmk_resource_t *rsc, pcmk_node_t *node, cib_t *cib_conn,
16321631
rc = pcmk_legacy2rc(rc);
16331632

16341633
if (rc == pcmk_rc_ok) {
1634+
char *metadata = NULL;
1635+
16351636
rc = lrmd_conn->cmds->get_metadata(lrmd_conn, standard,
16361637
provider, type,
16371638
&metadata, 0);
@@ -1640,6 +1641,7 @@ handle_metadata(pcmk_resource_t *rsc, pcmk_node_t *node, cib_t *cib_conn,
16401641
if (metadata != NULL) {
16411642
out->output_xml(out, PCMK_XE_METADATA, metadata);
16421643
free(metadata);
1644+
16431645
} else {
16441646
/* We were given a validly formatted spec, but it doesn't necessarily
16451647
* match up with anything that exists. Use ENXIO as the return code
@@ -1658,7 +1660,11 @@ handle_metadata(pcmk_resource_t *rsc, pcmk_node_t *node, cib_t *cib_conn,
16581660
options.agent_spec);
16591661
}
16601662

1663+
free(standard);
1664+
free(provider);
1665+
free(type);
16611666
lrmd_api_delete(lrmd_conn);
1667+
16621668
return pcmk_rc2exitc(rc);
16631669
}
16641670

0 commit comments

Comments
 (0)