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&amp;sfdsa",
+       "test&#043;s &amp; some more &#68;",
+       "&; &amp &#a; &9;",
+       "&kffjadfdhsjfhjasdhffasdfas;",
+       "&#8787978789",
+       "&",
+       "&&amp;&",
+       "&ab&amp;&",
+);
+
+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&amp;sfdsa"
+string(13) "abc&amp;sfdsa"
+string(33) "test&#043;s &amp; some more &#68;"
+string(33) "test&#043;s &amp; some more &#68;"
+string(24) "&; &amp;amp &amp;#a; &9;"
+string(24) "&; &amp;amp &amp;#a; &9;"
+string(32) "&amp;kffjadfdhsjfhjasdhffasdfas;"
+string(32) "&amp;kffjadfdhsjfhjasdhffasdfas;"
+string(16) "&amp;#8787978789"
+string(16) "&amp;#8787978789"
+string(5) "&amp;"
+string(5) "&amp;"
+string(15) "&amp;&amp;&amp;"
+string(15) "&amp;&amp;&amp;"
+string(17) "&amp;ab&amp;&amp;"
+string(17) "&amp;ab&amp;&amp;"
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

Reply via email to