From: Richard Mudgett Date: Sat, 21 Sep 2013 00:17:56 +0000 (+0000) Subject: json: Make it obvious that ast_json_unref() is NULL safe. X-Git-Tag: 13.0.0-beta1~1061 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=120abb5ecd72fefa6aadccabf51ee4af984ee522;p=thirdparty%2Fasterisk.git json: Make it obvious that ast_json_unref() is NULL safe. It looked like the safety check was done after the NULL pointer was used. ........ Merged revisions 399576 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399578 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/json.c b/main/json.c index 8658502b36..5e50c424ae 100644 --- a/main/json.c +++ b/main/json.c @@ -213,13 +213,15 @@ void ast_json_unref(struct ast_json *json) struct json_mem_list *free_list; struct json_mem *mem; + if (!json) { + return; + } + /* Jansson refcounting is non-atomic; lock it. */ { SCOPED_JSON_LOCK(json); - if (!json) { - return; - } - json_decref((json_t *)json); + + json_decref((json_t *) json); } /* Now free any objects that were ast_json_free()'s while the lock was