[asterisk-commits] mjordan: branch 12 r410274 - /branches/12/res/ari/resource_channels.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sat Mar 8 09:43:42 CST 2014


Author: mjordan
Date: Sat Mar  8 09:43:30 2014
New Revision: 410274

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=410274
Log:
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.

Modified:
    branches/12/res/ari/resource_channels.c

Modified: branches/12/res/ari/resource_channels.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/res/ari/resource_channels.c?view=diff&rev=410274&r1=410273&r2=410274
==============================================================================
--- branches/12/res/ari/resource_channels.c (original)
+++ branches/12/res/ari/resource_channels.c Sat Mar  8 09:43:30 2014
@@ -778,8 +778,8 @@
 	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);
 	}
 




More information about the asterisk-commits mailing list