File pacemaker-te-dont-bump-counters-action-synapse-invalid.patch of Package pacemaker.14737

commit 7cb793ae50d7d35341d9987703549da7dc3ec43f
Author: Igor Tsiglyar <igor_tsiglyar@outlook.com>
Date:   Wed Mar 1 19:22:47 2017 +0300

    Fix: TE: don't bump counters when action or synapse is invalid

Index: pacemaker-1.1.16+20170320.77ea74d/lib/transition/unpack.c
===================================================================
--- pacemaker-1.1.16+20170320.77ea74d.orig/lib/transition/unpack.c
+++ pacemaker-1.1.16+20170320.77ea74d/lib/transition/unpack.c
@@ -109,10 +109,11 @@ unpack_synapse(crm_graph_t * new_graph,
         new_synapse->priority = crm_parse_int(value, NULL);
     }
 
-    new_graph->num_synapses++;
     CRM_CHECK(new_synapse->id >= 0, free(new_synapse);
               return NULL);
 
+    new_graph->num_synapses++;
+
     crm_trace("look for actions in synapse %s", crm_element_value(xml_synapse, XML_ATTR_ID));
 
     for (action_set = __xml_first_child(xml_synapse); action_set != NULL;
@@ -124,11 +125,12 @@ unpack_synapse(crm_graph_t * new_graph,
                  action = __xml_next(action)) {
                 crm_action_t *new_action = unpack_action(new_synapse, action);
 
-                new_graph->num_actions++;
-
                 if (new_action == NULL) {
                     continue;
                 }
+
+                new_graph->num_actions++;
+
                 crm_trace("Adding action %d to synapse %d", new_action->id, new_synapse->id);
 
                 new_synapse->actions = g_list_append(new_synapse->actions, new_action);
openSUSE Build Service is sponsored by