[asterisk-commits] seanbright: trunk r152060 - in /trunk: ./ funcs/func_strings.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Oct 26 15:25:08 CDT 2008


Author: seanbright
Date: Sun Oct 26 15:25:08 2008
New Revision: 152060

URL: http://svn.digium.com/view/asterisk?view=rev&rev=152060
Log:
Merged revisions 152059 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r152059 | seanbright | 2008-10-26 16:23:36 -0400 (Sun, 26 Oct 2008) | 7 lines

Since passing \0 as the second argument to strchr is valid (and will
match the trailing \0 of a string) we need to check that first, otherwise
we end up with incorrect results.  Fix suggested by reporter.

(closes issue #13787)
Reported by: meitinger

........

Modified:
    trunk/   (props changed)
    trunk/funcs/func_strings.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/funcs/func_strings.c
URL: http://svn.digium.com/view/asterisk/trunk/funcs/func_strings.c?view=diff&rev=152060&r1=152059&r2=152060
==============================================================================
--- trunk/funcs/func_strings.c (original)
+++ trunk/funcs/func_strings.c Sun Oct 26 15:25:08 2008
@@ -773,7 +773,10 @@
 	char *bufptr, *dataptr;
 
 	for (bufptr = buf, dataptr = data; bufptr < buf + buflen - 1; dataptr++) {
-		if (*dataptr == '1') {
+		if (*dataptr == '\0') {
+			*bufptr++ = '\0';
+			break;
+		} else if (*dataptr == '1') {
 			*bufptr++ = '1';
 		} else if (strchr("AaBbCc2", *dataptr)) {
 			*bufptr++ = '2';
@@ -793,9 +796,6 @@
 			*bufptr++ = '9';
 		} else if (*dataptr == '0') {
 			*bufptr++ = '0';
-		} else if (*dataptr == '\0') {
-			*bufptr++ = '\0';
-			break;
 		}
 	}
 	buf[buflen - 1] = '\0';




More information about the asterisk-commits mailing list