No json_object_put() for the json_obj created by json_object_object_get_ex().
It is stated in the json_object.h from version 0.11: https://github.com/json-c/json-c/blob/json-c-0.11/json_object.h#L271 As on json-c 0.11, there's no assert to check for the ref_count, we wont get crashed. But on json-c 0.13.1 (latest release), json_object_put will check for the ref_count first, so mtcAgent will crash. Test Done: Run mtcAgent with json-c version 0.13.1 with this patch, no crash found. Closes-Bug: 1807097 Change-Id: I35e5c1cad2e16ee0b6fc639380f1bdd3b64a7018 Signed-off-by: Yan Chen <yan.chen@intel.com>
This commit is contained in:
parent
286577940f
commit
1c38aff32a
@ -406,9 +406,6 @@ int jsonUtil_inv_load ( char * json_str_ptr,
|
||||
cleanup:
|
||||
|
||||
if (raw_obj) json_object_put(raw_obj);
|
||||
if (req_obj) json_object_put(req_obj);
|
||||
if (next_obj) json_object_put(next_obj);
|
||||
if (node_obj) json_object_put(node_obj);
|
||||
|
||||
return (rc);
|
||||
}
|
||||
@ -807,7 +804,6 @@ int jsonApi_auth_load ( string & hostname,
|
||||
struct json_object *token_obj = (struct json_object *)(NULL);
|
||||
struct json_object *svccat_obj = (struct json_object *)(NULL);
|
||||
struct json_object *tuple_obj = (struct json_object *)(NULL);
|
||||
struct json_object *type_obj = (struct json_object *)(NULL);
|
||||
struct json_object *url_obj = (struct json_object *)(NULL);
|
||||
struct json_object *end_obj = (struct json_object *)(NULL);
|
||||
|
||||
@ -920,12 +916,6 @@ auth_load_cleanup:
|
||||
}
|
||||
json_object_put(raw_obj);
|
||||
}
|
||||
if (token_obj) json_object_put(token_obj);
|
||||
if (svccat_obj) json_object_put(svccat_obj);
|
||||
if (tuple_obj) json_object_put(tuple_obj);
|
||||
if (end_obj) json_object_put(end_obj);
|
||||
if (url_obj) json_object_put(type_obj);
|
||||
if (type_obj) json_object_put(type_obj);
|
||||
|
||||
return (rc);
|
||||
}
|
||||
@ -973,8 +963,6 @@ int jsonUtil_get_list ( char * json_str_ptr, string label, list<string> & key_li
|
||||
get_list_cleanup:
|
||||
|
||||
if (raw_obj) json_object_put(raw_obj);
|
||||
if (label_obj) json_object_put(label_obj);
|
||||
if (item_obj) json_object_put(item_obj);
|
||||
|
||||
return (rc);
|
||||
}
|
||||
@ -1067,8 +1055,6 @@ int jsonApi_array_value ( char * json_str_ptr,
|
||||
array_value_cleanup:
|
||||
|
||||
if (raw_obj) json_object_put(raw_obj);
|
||||
if (array_obj) json_object_put(array_obj);
|
||||
if (tuple_obj) json_object_put(tuple_obj);
|
||||
if (type_obj) json_object_put(type_obj);
|
||||
|
||||
return (rc);
|
||||
@ -1149,8 +1135,6 @@ int jsonUtil_get_array_idx ( char * json_str_ptr,
|
||||
get_array_idx_cleanup:
|
||||
|
||||
if (raw_obj) json_object_put(raw_obj);
|
||||
if (array_obj) json_object_put(array_obj);
|
||||
if (tuple_obj) json_object_put(tuple_obj);
|
||||
return (rc);
|
||||
}
|
||||
|
||||
@ -1203,7 +1187,6 @@ int jsonUtil_array_elements ( char * json_str_ptr, string label, int & elements
|
||||
array_elements_cleanup:
|
||||
|
||||
if (raw_obj) json_object_put(raw_obj);
|
||||
if (array_obj) json_object_put(array_obj);
|
||||
|
||||
return (rc);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user