utils_ovs: fix potential strcmp() NULL ptr param
authorMark Kavanagh <mark.b.kavanagh@intel.com>
Mon, 19 Feb 2018 15:55:45 +0000 (15:55 +0000)
committerCiara Loftus <ciara.loftus@intel.com>
Tue, 27 Mar 2018 09:47:07 +0000 (10:47 +0100)
YAJL_GET_STRING(array_values[0]) may return NULL if
array_values[0]->string is NULL; passing a NULL parameter to
strcmp() is not recommended, since the resultant behaviour may
be undefined.

Resolve the issue by adding a NULL check for the string returned
by YAJL_GET_STRING.

Fixes: cbq59d853 ("ovs_events: Fix plugin collectd config file")
Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
src/utils_ovs.c

index 0ee05e0..088ed7d 100644 (file)
@@ -1364,7 +1364,7 @@ yajl_val ovs_utils_get_map_value(yajl_val jval, const char *key) {
 
   /* check first element of the array */
   str_val = YAJL_GET_STRING(array_values[0]);
-  if (strcmp("map", str_val) != 0)
+  if (str_val == NULL || strcmp("map", str_val) != 0)
     return NULL;
 
   /* try to find map value by map key */