tony2001 Mon Mar 26 10:23:50 2007 UTC
Added files:
/php-src/ext/standard/tests/strings bug40915.phpt
Modified files:
/php-src/ext/standard string.c
Log:
fix #40915 (addcslashes unexpected behavior with binary input)
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.632&r2=1.633&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.632 php-src/ext/standard/string.c:1.633
--- php-src/ext/standard/string.c:1.632 Sat Feb 24 16:25:55 2007
+++ php-src/ext/standard/string.c Mon Mar 26 10:23:49 2007
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: string.c,v 1.632 2007/02/24 16:25:55 helly Exp $ */
+/* $Id: string.c,v 1.633 2007/03/26 10:23:49 tony2001 Exp $ */
/* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
@@ -4555,8 +4555,8 @@
RETURN_STRINGL(str, str_len, 1);
}
- RETURN_STRING(php_addcslashes(str, str_len, &Z_STRLEN_P(return_value),
0,
- what,
what_len TSRMLS_CC), 0);
+ Z_STRVAL_P(return_value) = php_addcslashes(str, str_len,
&Z_STRLEN_P(return_value), 0, what, what_len TSRMLS_CC);
+ RETURN_STRINGL(Z_STRVAL_P(return_value), Z_STRLEN_P(return_value), 0);
}
/* }}} */
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug40915.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/bug40915.phpt
+++ php-src/ext/standard/tests/strings/bug40915.phpt
--TEST--
Bug #40915 (addcslashes unexpected behavior with binary input)
--FILE--
<?php
$str = (binary)"a\000z";
var_dump(addslashes($str));
var_dump(addcslashes($str, (binary)""));
var_dump(addcslashes($str, (binary)"\000z"));
var_dump(addcslashes( $str, (binary)"z"));
echo "Done\n";
?>
--EXPECTF--
string(4) "a\0z"
string(3) "a
string(7) "a\000\z"
string(4) "a
Done
--UEXPECTF--
unicode(4) "a\0z"
string(3) "a
string(7) "a\000\z"
string(4) "a
Done
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php