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