File bug-914761_pacemaker-pengine-reschedule-monitor-1.patch of Package pacemaker.9287

commit 3fe884c426521a402129bc9283e7ef41d231e2a3
Author: Gao,Yan <ygao@suse.com>
Date:   Thu Feb 26 10:29:40 2015 +0100

    Fix: pengine: Resolve memory leaks

diff --git a/pengine/allocate.c b/pengine/allocate.c
index 999b4e6..fc60a5e 100644
--- a/pengine/allocate.c
+++ b/pengine/allocate.c
@@ -283,6 +283,7 @@ check_action_definition(resource_t * rsc, node_t * active_node, xmlNode * xml_op
 #else
             /* Re-sending the recurring op is sufficient - the old one will be cancelled automatically */
             set_bit(rsc->flags, pe_rsc_reschedule_monitor);
+            free(key);
 #endif
 
         } else if (digest_restart) {
diff --git a/pengine/native.c b/pengine/native.c
index 46cf01e..a6b3aed 100644
--- a/pengine/native.c
+++ b/pengine/native.c
@@ -726,10 +726,10 @@ RecurringOp(resource_t * rsc, action_t * start, node_t * node,
         is_optional = FALSE;
         pe_rsc_trace(rsc, "Marking %s manditory: not active", key);
 
-    } else if (is_set(rsc->flags, pe_rsc_reschedule_monitor)) {
-        is_optional = FALSE;
-
     } else {
+        if (is_set(rsc->flags, pe_rsc_reschedule_monitor)) {
+            is_optional = FALSE;
+        }
         g_list_free(possible_matches);
     }
 
openSUSE Build Service is sponsored by