From: Eric Haszlakiewicz Date: Sat, 29 Oct 2016 19:42:36 +0000 (-0400) Subject: Handle NULL objects in json_object_get_userdata() by returning NULL, but abort in... X-Git-Tag: json-c-0.13-20171207~115 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4899bd4d58eff3b2e05dfe59c0604e46a6fb546;p=thirdparty%2Fjson-c.git Handle NULL objects in json_object_get_userdata() by returning NULL, but abort in json_object_set_userdata() since we can't actually do anything with the userdata. --- diff --git a/json_object.c b/json_object.c index 939eae66..8a70b5d2 100644 --- a/json_object.c +++ b/json_object.c @@ -241,12 +241,15 @@ enum json_type json_object_get_type(const struct json_object *jso) } void* json_object_get_userdata(json_object *jso) { - return jso->_userdata; + return jso ? jso->_userdata : NULL; } void json_object_set_userdata(json_object *jso, void *userdata, json_object_delete_fn *user_delete) { + // Can't return failure, so abort if we can't perform the operation. + assert(jso != NULL); + // First, clean up any previously existing user info if (jso->_user_delete) jso->_user_delete(jso, jso->_userdata);