iliaa Tue May 29 20:11:23 2007 UTC Modified files: /php-src/ext/standard user_filters.c mail.c dir.c /php-src/ext/standard/tests/array bug40709.phpt /php-src/ext/standard/tests/strings bug40432.phpt bug40704.phpt bug40754.phpt htmlentities18.phpt /php-src/ext/wddx/tests bug41283.phpt Log: MFB
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/user_filters.c?r1=1.45&r2=1.46&diff_format=u Index: php-src/ext/standard/user_filters.c diff -u php-src/ext/standard/user_filters.c:1.45 php-src/ext/standard/user_filters.c:1.46 --- php-src/ext/standard/user_filters.c:1.45 Thu Feb 1 14:20:53 2007 +++ php-src/ext/standard/user_filters.c Tue May 29 20:11:23 2007 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: user_filters.c,v 1.45 2007/02/01 14:20:53 tony2001 Exp $ */ +/* $Id: user_filters.c,v 1.46 2007/05/29 20:11:23 iliaa Exp $ */ #include "php.h" #include "php_globals.h" @@ -260,6 +260,7 @@ zval *obj, *zfilter; zval func_name; zval *retval = NULL; + int len; /* some sanity checks */ if (persistent) { @@ -268,9 +269,10 @@ return NULL; } + len = strlen(filtername); + /* determine the classname/class entry */ - if (FAILURE == zend_hash_find(BG(user_filter_map), (char*)filtername, - strlen(filtername) + 1, (void**)&fdat)) { + if (FAILURE == zend_hash_find(BG(user_filter_map), (char*)filtername, len + 1, (void**)&fdat)) { char *period; /* Userspace Filters using ambiguous wildcards could cause problems. @@ -279,10 +281,10 @@ TODO: Allow failed userfilter creations to continue scanning through the list */ if ((period = strrchr(filtername, '.'))) { - char *wildcard; + char *wildcard = emalloc(len + 3); /* Search for wildcard matches instead */ - wildcard = estrdup(filtername); + memcpy(wildname, filtername, len + 1); /* copy \0 */ period = wildcard + (period - filtername); while (period) { *period = '\0'; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/mail.c?r1=1.91&r2=1.92&diff_format=u Index: php-src/ext/standard/mail.c diff -u php-src/ext/standard/mail.c:1.91 php-src/ext/standard/mail.c:1.92 --- php-src/ext/standard/mail.c:1.91 Mon Jan 1 09:29:32 2007 +++ php-src/ext/standard/mail.c Tue May 29 20:11:23 2007 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mail.c,v 1.91 2007/01/01 09:29:32 sebastian Exp $ */ +/* $Id: mail.c,v 1.92 2007/05/29 20:11:23 iliaa Exp $ */ #include <stdlib.h> #include <ctype.h> @@ -47,8 +47,8 @@ #define SKIP_LONG_HEADER_SEP(str, pos) \ if (str[pos] == '\r' && str[pos + 1] == '\n' && (str[pos + 2] == ' ' || str[pos + 2] == '\t')) { \ - pos += 3; \ - while (str[pos] == ' ' || str[pos] == '\t') { \ + pos += 2; \ + while (str[pos + 1] == ' ' || str[pos + 1] == '\t') { \ pos++; \ } \ continue; \ http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dir.c?r1=1.160&r2=1.161&diff_format=u Index: php-src/ext/standard/dir.c diff -u php-src/ext/standard/dir.c:1.160 php-src/ext/standard/dir.c:1.161 --- php-src/ext/standard/dir.c:1.160 Mon Jan 22 09:32:55 2007 +++ php-src/ext/standard/dir.c Tue May 29 20:11:23 2007 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dir.c,v 1.160 2007/01/22 09:32:55 dmitry Exp $ */ +/* $Id: dir.c,v 1.161 2007/05/29 20:11:23 iliaa Exp $ */ /* {{{ includes/startup/misc */ @@ -449,7 +449,7 @@ /* we assume that any glob pattern will match files from one directory only so checking the dirname of the first match should be sufficient */ - strncpy(cwd, globbuf.gl_pathv[0], MAXPATHLEN); + strlcpy(cwd, globbuf.gl_pathv[0], MAXPATHLEN); if (php_check_open_basedir(cwd TSRMLS_CC)) { RETURN_FALSE; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug40709.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/array/bug40709.phpt diff -u /dev/null php-src/ext/standard/tests/array/bug40709.phpt:1.2 --- /dev/null Tue May 29 20:11:23 2007 +++ php-src/ext/standard/tests/array/bug40709.phpt Tue May 29 20:11:23 2007 @@ -0,0 +1,28 @@ +--TEST-- +Bug #40709 (array_reduce() behaves strange with one item stored arrays) +--SKIPIF-- +--FILE-- +<?php +function CommaSeperatedList($a, $b) { + if($a == null) + return $b; + else + return $a.','.$b; +} + +$arr1 = array(1,2,3); +$arr2 = array(1); + +echo "result for arr1: ".array_reduce($arr1,'CommaSeperatedList')."\n"; +echo "result for arr2: ".array_reduce($arr2,'CommaSeperatedList')."\n"; +echo "result for arr1: ".array_reduce($arr1,'CommaSeperatedList')."\n"; +echo "result for arr2: ".array_reduce($arr2,'CommaSeperatedList')."\n"; + +echo "Done\n"; +?> +--EXPECT-- +result for arr1: 1,2,3 +result for arr2: 1 +result for arr1: 1,2,3 +result for arr2: 1 +Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug40432.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/bug40432.phpt diff -u /dev/null php-src/ext/standard/tests/strings/bug40432.phpt:1.2 --- /dev/null Tue May 29 20:11:23 2007 +++ php-src/ext/standard/tests/strings/bug40432.phpt Tue May 29 20:11:23 2007 @@ -0,0 +1,8 @@ +--TEST-- +Bug #40432 (strip_tags() fails with greater than in attribute) +--FILE-- +<?php +echo strip_tags('<span title="test > all">this</span>') . "\n"; +?> +--EXPECT-- +this http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug40704.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/bug40704.phpt diff -u /dev/null php-src/ext/standard/tests/strings/bug40704.phpt:1.2 --- /dev/null Tue May 29 20:11:23 2007 +++ php-src/ext/standard/tests/strings/bug40704.phpt Tue May 29 20:11:23 2007 @@ -0,0 +1,13 @@ +--TEST-- +Bug #40704 (strip_tags() does not handle single quotes correctly) +--FILE-- +<?php + +$html = "<div>Bug ' Trigger</div> Missing Text"; +var_dump(strip_tags($html)); + +echo "Done\n"; +?> +--EXPECT-- +string(26) "Bug ' Trigger Missing Text" +Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug40754.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/bug40754.phpt diff -u /dev/null php-src/ext/standard/tests/strings/bug40754.phpt:1.2 --- /dev/null Tue May 29 20:11:23 2007 +++ php-src/ext/standard/tests/strings/bug40754.phpt Tue May 29 20:11:23 2007 @@ -0,0 +1,63 @@ +--TEST-- +Bug #40754 (Overflow checks inside string functions) +--FILE-- +<?php + +$v = 2147483647; + +var_dump(substr("abcde", 1, $v)); +var_dump(substr_replace("abcde", "x", $v, $v)); + +var_dump(strspn("abcde", "abc", $v, $v)); +var_dump(strcspn("abcde", "abc", $v, $v)); + +var_dump(substr_count("abcde", "abc", $v, $v)); +var_dump(substr_compare("abcde", "abc", $v, $v)); + +var_dump(stripos("abcde", "abc", $v)); +var_dump(substr_count("abcde", "abc", $v, 1)); +var_dump(substr_count("abcde", "abc", 1, $v)); +var_dump(strpos("abcde", "abc", $v)); +var_dump(stripos("abcde", "abc", $v)); +var_dump(strrpos("abcde", "abc", $v)); +var_dump(strripos("abcde", "abc", $v)); +var_dump(strncmp("abcde", "abc", $v)); +var_dump(chunk_split("abcde", $v, "abc")); +var_dump(substr("abcde", $v, $v)); + +?> +--EXPECTF-- +string(4) "bcde" +bool(false) +bool(false) +bool(false) + +Warning: substr_count(): Offset value 2147483647 exceeds string length. in %s on line %d +bool(false) + +Warning: substr_compare(): The start position cannot exceed initial string length in %s on line %d +bool(false) + +Warning: stripos(): Offset not contained in string. in %s on line %d +bool(false) + +Warning: substr_count(): Offset value 2147483647 exceeds string length. in %s on line %d +bool(false) + +Warning: substr_count(): Length value 2147483647 exceeds string length. in %s on line %d +bool(false) + +Warning: strpos(): Offset not contained in string. in %s on line %d +bool(false) + +Warning: stripos(): Offset not contained in string. in %s on line %d +bool(false) + +Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) + +Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +bool(false) +int(2) +string(8) "abcdeabc" +bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/htmlentities18.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/htmlentities18.phpt diff -u /dev/null php-src/ext/standard/tests/strings/htmlentities18.phpt:1.2 --- /dev/null Tue May 29 20:11:23 2007 +++ php-src/ext/standard/tests/strings/htmlentities18.phpt Tue May 29 20:11:23 2007 @@ -0,0 +1,40 @@ +--TEST-- +htmlentities() / htmlspecialchars() "don't double encode" flag support +--FILE-- +<?php +$tests = array( + "abc", + "abc&sfdsa", + "test+s & some more D", + "&; & &#a; &9;", + "&kffjadfdhsjfhjasdhffasdfas;", + "�", + "&", + "&&&", + "&ab&&", +); + +foreach ($tests as $test) { + var_dump(htmlentities($test, ENT_QUOTES, NULL, FALSE)); + var_dump(htmlspecialchars($test, ENT_QUOTES, NULL, FALSE)); +} +?> +--EXPECT-- +string(3) "abc" +string(3) "abc" +string(13) "abc&sfdsa" +string(13) "abc&sfdsa" +string(33) "test+s & some more D" +string(33) "test+s & some more D" +string(24) "&; &amp &#a; &9;" +string(24) "&; &amp &#a; &9;" +string(32) "&kffjadfdhsjfhjasdhffasdfas;" +string(32) "&kffjadfdhsjfhjasdhffasdfas;" +string(16) "&#8787978789" +string(16) "&#8787978789" +string(5) "&" +string(5) "&" +string(15) "&&&" +string(15) "&&&" +string(17) "&ab&&" +string(17) "&ab&&" http://cvs.php.net/viewvc.cgi/php-src/ext/wddx/tests/bug41283.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/wddx/tests/bug41283.phpt diff -u /dev/null php-src/ext/wddx/tests/bug41283.phpt:1.2 --- /dev/null Tue May 29 20:11:23 2007 +++ php-src/ext/wddx/tests/bug41283.phpt Tue May 29 20:11:23 2007 @@ -0,0 +1,27 @@ +--TEST-- +Bug #41283 (Bug with serializing array key that are doubles or floats) +--SKIPIF-- +<?php if (!extension_loaded("wddx")) print "skip"; ?> +--FILE-- +<?php +$data = array( + 'somearray' => array('1.1' => 'One 1','1.2' => 'One 2', '1.0' => 'Three') +); + +var_dump(wddx_deserialize(wddx_serialize_vars('data'))); +?> +--EXPECT-- +array(1) { + ["data"]=> + array(1) { + ["somearray"]=> + array(3) { + ["1.1"]=> + string(5) "One 1" + ["1.2"]=> + string(5) "One 2" + [1]=> + string(5) "Three" + } + } +}
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php