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
changes/97/197/1
Matthew Jordan 11 years ago
parent 0291965f79
commit 5ca081e053

@ -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);
}

Loading…
Cancel
Save