From 120abb5ecd72fefa6aadccabf51ee4af984ee522 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Sat, 21 Sep 2013 00:17:56 +0000 Subject: 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 --- main/json.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'main/json.c') diff --git a/main/json.c b/main/json.c index 8658502b3..5e50c424a 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 -- cgit v1.2.3