File pacemaker#3658-0001-Low-controller-avoid-memory-leak-on-scheduler-API-er.patch of Package pacemaker.38493

From 52c55ef4acc8c29f72175fdd280cb2da1f05ff76 Mon Sep 17 00:00:00 2001
From: Ken Gaillot <kgaillot@redhat.com>
Date: Mon, 16 Sep 2024 12:35:28 -0500
Subject: [PATCH] Low: controller: avoid memory leak on scheduler API error

detected by coverity
---
 daemons/controld/controld_schedulerd.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: pacemaker-2.1.7+20231219.0f7f88312/daemons/controld/controld_schedulerd.c
===================================================================
--- pacemaker-2.1.7+20231219.0f7f88312.orig/daemons/controld/controld_schedulerd.c
+++ pacemaker-2.1.7+20231219.0f7f88312/daemons/controld/controld_schedulerd.c
@@ -488,11 +488,11 @@ do_pe_invoke_callback(xmlNode * msg, int
         crm_xml_add_int(output, XML_ATTR_QUORUM_PANIC, 1);
     }
 
-    rc = pcmk_rc2legacy(pcmk_schedulerd_api_graph(schedulerd_api, output, &ref));
-
-    if (rc < 0) {
+    rc = pcmk_schedulerd_api_graph(schedulerd_api, output, &ref);
+    if (rc != pcmk_rc_ok) {
+        free(ref);
         crm_err("Could not contact the scheduler: %s " CRM_XS " rc=%d",
-                pcmk_strerror(rc), rc);
+                pcmk_rc_str(rc), rc);
         register_fsa_error_adv(C_FSA_INTERNAL, I_ERROR, NULL, NULL, __func__);
     } else {
         CRM_ASSERT(ref != NULL);
openSUSE Build Service is sponsored by