From: Matthew Jordan Date: Sat, 8 Mar 2014 15:45:59 +0000 (+0000) Subject: resource_channels: Check if a passed in ID is NULL before checking its length X-Git-Tag: 13.0.0-beta1~459 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ca081e05369e2611048ac942f6c48e4814e4fe2;p=thirdparty%2Fasterisk.git resource_channels: Check if a passed in ID is NULL before checking its length Calling strlen on a NULL string is explosive. This patch checks whether or not the passed in string is NULL or zero length before checking to see if the string is too long. ........ Merged revisions 410274 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410275 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c index 2d074a16a7..37595006dd 100644 --- a/res/ari/resource_channels.c +++ b/res/ari/resource_channels.c @@ -778,8 +778,8 @@ static void ari_channels_handle_originate_with_id(const char *args_endpoint, RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup); struct ast_assigned_ids assignedids = {args_channel_id, args_other_channel_id}; - if (strlen(assignedids.uniqueid) >= AST_MAX_UNIQUEID || - strlen(assignedids.uniqueid2) >= AST_MAX_UNIQUEID) { + if ((!ast_strlen_zero(assignedids.uniqueid) && strlen(assignedids.uniqueid) >= AST_MAX_UNIQUEID) || + (!ast_strlen_zero(assignedids.uniqueid) && strlen(assignedids.uniqueid2) >= AST_MAX_UNIQUEID)) { ast_log(LOG_WARNING, "Uniqueid length exceeds maximum of %d\n", AST_MAX_UNIQUEID); }