File bsc#1085515-pacemaker-pengine-Avoid-potential-use-of-NULL-in-unpack_simple_rsc_order.patch of Package pacemaker.14737

From d273895199d9597f167b5fcb4bb73186952d36e5 Mon Sep 17 00:00:00 2001
From: "Gao,Yan" <ygao@suse.com>
Date: Sat, 24 Mar 2018 11:42:33 +0100
Subject: [PATCH] Fix: pengine: Avoid potential use-of-NULL in
 unpack_simple_rsc_order()

---
 pengine/constraints.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/pengine/constraints.c b/pengine/constraints.c
index b2afa18c0..04d770bff 100644
--- a/pengine/constraints.c
+++ b/pengine/constraints.c
@@ -268,20 +268,23 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
     const char *instance_first = NULL;
     const char *require_all_s = NULL;
 
-    const char *id = crm_element_value(xml_obj, XML_ATTR_ID);
-    const char *invert = crm_element_value(xml_obj, XML_CONS_ATTR_SYMMETRICAL);
-
-    crm_str_to_boolean(invert, &invert_bool);
+    const char *id = NULL;
+    const char *invert = NULL;
 
     if (xml_obj == NULL) {
         crm_config_err("No constraint object to process.");
         return FALSE;
+    }
 
-    } else if (id == NULL) {
+    id = crm_element_value(xml_obj, XML_ATTR_ID);
+    if (id == NULL) {
         crm_config_err("%s constraint must have an id", crm_element_name(xml_obj));
         return FALSE;
     }
 
+    invert = crm_element_value(xml_obj, XML_CONS_ATTR_SYMMETRICAL);
+    crm_str_to_boolean(invert, &invert_bool);
+
     id_then = crm_element_value(xml_obj, XML_ORDER_ATTR_THEN);
     id_first = crm_element_value(xml_obj, XML_ORDER_ATTR_FIRST);
 
-- 
2.16.4

openSUSE Build Service is sponsored by