From: Matthew Jordan Date: Fri, 7 Feb 2014 20:09:01 +0000 (+0000) Subject: security_events: Fix assertion failure in dev-mode on optional IE parsing X-Git-Tag: 12.2.0-rc1~167 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5de26cb35c0c3a0cf1e2f37e6a8e99507e50af4;p=thirdparty%2Fasterisk.git security_events: Fix assertion failure in dev-mode on optional IE parsing When formatting an optional IE, the value is, of course, optional. As such, it is entirely appropriate for ast_json_object_get to return NULL. If that occurs, we now simply skip the IE that was requested, as it was not provided by the entity that raised the event. Thanks to George Joseph (gtjoseph) for catching this and reporting it in #asterisk-dev git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@407750 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/security_events.c b/main/security_events.c index 2809dd0ef1..9588f78a89 100644 --- a/main/security_events.c +++ b/main/security_events.c @@ -390,7 +390,9 @@ static int append_event_str_single(struct ast_str **str, struct ast_json *json, const char *ie_type_key = ast_event_get_ie_type_name(ie_type); struct ast_json *json_string = ast_json_object_get(json, ie_type_key); - ast_assert(json_string != NULL); + if (!json_string) { + return 0; + } if (ast_str_append(str, 0, "%s: %s\r\n", ie_type_key, S_OR(ast_json_string_get(json_string), "")) == -1) { return -1;