summaryrefslogtreecommitdiff
path: root/res/ari
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-03-08 15:45:59 +0000
committerMatthew Jordan <mjordan@digium.com>2014-03-08 15:45:59 +0000
commit5ca081e05369e2611048ac942f6c48e4814e4fe2 (patch)
tree1bf3f7198af22150e6d8cff4386aa33d19c164f3 /res/ari
parent0291965f79a17a4b515063c158a764c23db4ddb7 (diff)
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
Diffstat (limited to 'res/ari')
-rw-r--r--res/ari/resource_channels.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c
index 2d074a16a..37595006d 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);
}