From 053576d9f1c194a071187f9b87641d7da73e5a72 Mon Sep 17 00:00:00 2001 From: Pavel Levshin Date: Thu, 24 Oct 2013 16:03:18 +0200 Subject: bugfix: Segmentation fault on incorrect variable assignment --- runtime/msg.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'runtime/msg.c') diff --git a/runtime/msg.c b/runtime/msg.c index e159bba9..e30ff671 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -4030,6 +4030,12 @@ msgAddJSONObj(msg_t *pM, uchar *name, struct json_object *json, struct json_obje } leaf = jsonPathGetLeaf(name, ustrlen(name)); CHKiRet(jsonPathFindParent(*pjroot, name, leaf, &parent, 1)); + if (json_object_get_type(parent) != json_type_object) { + DBGPRINTF("msgAddJSON: not a container in json path," + "name is '%s'\n", name); + json_object_put(json); + ABORT_FINALIZE(RS_RET_INVLD_SETOP); + } leafnode = json_object_object_get(parent, (char*)leaf); if(leafnode == NULL) { json_object_object_add(parent, (char*)leaf, json); -- cgit v1.2.3