From: Matthew Jordan Date: Sat, 8 Mar 2014 15:43:30 +0000 (+0000) Subject: resource_channels: Check if a passed in ID is NULL before checking its length X-Git-Tag: 12.2.0-rc1~72 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=14afa3297928999a9730a456982217074ab620c3;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. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@410274 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); }