[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/json/json.c branches/PHP_5_3/ext/json/tests/bug54058.phpt trunk/ext/json/json.c trunk/ext/json/tests/bug54058.phpt

2011-02-21 Thread Scott MacVicar
scottmac Mon, 21 Feb 2011 08:09:02 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=308529

Log:
Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases

Bug: http://bugs.php.net/54058 (Open) json_last_error() doesn't work properly 
with arrays/objects 
  
Changed paths:
U   php/php-src/branches/PHP_5_3/ext/json/json.c
A   php/php-src/branches/PHP_5_3/ext/json/tests/bug54058.phpt
U   php/php-src/trunk/ext/json/json.c
A   php/php-src/trunk/ext/json/tests/bug54058.phpt

Modified: php/php-src/branches/PHP_5_3/ext/json/json.c
===
--- php/php-src/branches/PHP_5_3/ext/json/json.c2011-02-21 07:36:26 UTC 
(rev 308528)
+++ php/php-src/branches/PHP_5_3/ext/json/json.c2011-02-21 08:09:02 UTC 
(rev 308529)
@@ -431,7 +431,6 @@

 PHP_JSON_API void php_json_encode(smart_str *buf, zval *val, int options 
TSRMLS_DC) /* {{{ */
 {
-   JSON_G(error_code) = PHP_JSON_ERROR_NONE;
switch (Z_TYPE_P(val))
{
case IS_NULL:
@@ -567,6 +566,8 @@
return;
}

+   JSON_G(error_code) = PHP_JSON_ERROR_NONE;
+
php_json_encode(buf, parameter, options TSRMLS_CC);

ZVAL_STRINGL(return_value, buf.c, buf.len, 1);

Added: php/php-src/branches/PHP_5_3/ext/json/tests/bug54058.phpt
===
--- php/php-src/branches/PHP_5_3/ext/json/tests/bug54058.phpt   
(rev 0)
+++ php/php-src/branches/PHP_5_3/ext/json/tests/bug54058.phpt   2011-02-21 
08:09:02 UTC (rev 308529)
@@ -0,0 +1,35 @@
+--TEST--
+Bug #54058 (json_last_error() invalid UTF-8 produces wrong error)
+--SKIPIF--
+?php if (!extension_loaded(json)) print skip; ?
+--FILE--
+?php
+
+$bad_utf8 = quoted_printable_decode('=B0');
+
+json_encode($bad_utf8);
+var_dump(json_last_error());
+
+$a = new stdclass;
+$a-foo = quoted_printable_decode('=B0');
+json_encode($a);
+var_dump(json_last_error());
+
+$b = new stdclass;
+$b-foo = $bad_utf8;
+$b-bar = 1;
+json_encode($b);
+var_dump(json_last_error());
+
+$c = array(
+'foo' = $bad_utf8,
+'bar' = 1
+);
+json_encode($c);
+var_dump(json_last_error());
+?
+--EXPECTF--
+int(5)
+int(5)
+int(5)
+int(5)

Modified: php/php-src/trunk/ext/json/json.c
===
--- php/php-src/trunk/ext/json/json.c   2011-02-21 07:36:26 UTC (rev 308528)
+++ php/php-src/trunk/ext/json/json.c   2011-02-21 08:09:02 UTC (rev 308529)
@@ -538,7 +538,6 @@

 PHP_JSON_API void php_json_encode(smart_str *buf, zval *val, int options 
TSRMLS_DC) /* {{{ */
 {
-   JSON_G(error_code) = PHP_JSON_ERROR_NONE;
switch (Z_TYPE_P(val))
{
case IS_NULL:
@@ -680,6 +679,8 @@
return;
}

+   JSON_G(error_code) = PHP_JSON_ERROR_NONE;
+
php_json_encode(buf, parameter, options TSRMLS_CC);

ZVAL_STRINGL(return_value, buf.c, buf.len, 1);

Added: php/php-src/trunk/ext/json/tests/bug54058.phpt
===
--- php/php-src/trunk/ext/json/tests/bug54058.phpt  
(rev 0)
+++ php/php-src/trunk/ext/json/tests/bug54058.phpt  2011-02-21 08:09:02 UTC 
(rev 308529)
@@ -0,0 +1,35 @@
+--TEST--
+Bug #54058 (json_last_error() invalid UTF-8 produces wrong error)
+--SKIPIF--
+?php if (!extension_loaded(json)) print skip; ?
+--FILE--
+?php
+
+$bad_utf8 = quoted_printable_decode('=B0');
+
+json_encode($bad_utf8);
+var_dump(json_last_error());
+
+$a = new stdclass;
+$a-foo = quoted_printable_decode('=B0');
+json_encode($a);
+var_dump(json_last_error());
+
+$b = new stdclass;
+$b-foo = $bad_utf8;
+$b-bar = 1;
+json_encode($b);
+var_dump(json_last_error());
+
+$c = array(
+'foo' = $bad_utf8,
+'bar' = 1
+);
+json_encode($c);
+var_dump(json_last_error());
+?
+--EXPECTF--
+int(5)
+int(5)
+int(5)
+int(5)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/openssl/openssl.c branches/PHP_5_3/ext/openssl/tests/bug54060.phpt trunk/ext/openssl/openssl.c trunk/ext/openssl/tests/bug54060.

2011-02-21 Thread Pierre Joye
pajoye   Mon, 21 Feb 2011 10:07:31 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=308531

Log:
- fix bug #54060, memory leak in openssl_encrypt

Bug: http://bugs.php.net/54060 (Open) Memory leaks when openssl_encrypt called
  
Changed paths:
U   php/php-src/branches/PHP_5_3/NEWS
U   php/php-src/branches/PHP_5_3/ext/openssl/openssl.c
A   php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54060.phpt
U   php/php-src/trunk/ext/openssl/openssl.c
A   php/php-src/trunk/ext/openssl/tests/bug54060.phpt

Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS   2011-02-21 08:12:33 UTC (rev 308530)
+++ php/php-src/branches/PHP_5_3/NEWS   2011-02-21 10:07:31 UTC (rev 308531)
@@ -8,6 +8,8 @@
 - Exif extension:
   . Fixed bug #54002 (crash on crafted tag, reported by Luca Carettoni). 
(Pierre)
 (CVE-2011-0708)
+- OpenSSL extension:
+  . Fixed bug #54060 (Memory leaks when openssl_encrypt). (Pierre)

 - SPL extension:
   . Fixed memory leak in DirectoryIterator::getExtension() and

Modified: php/php-src/branches/PHP_5_3/ext/openssl/openssl.c
===
--- php/php-src/branches/PHP_5_3/ext/openssl/openssl.c  2011-02-21 08:12:33 UTC 
(rev 308530)
+++ php/php-src/branches/PHP_5_3/ext/openssl/openssl.c  2011-02-21 10:07:31 UTC 
(rev 308531)
@@ -4731,6 +4731,7 @@
if (free_iv) {
efree(iv);
}
+   EVP_CIPHER_CTX_cleanup(cipher_ctx);
 }
 /* }}} */


Added: php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54060.phpt
===
--- php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54060.phpt
(rev 0)
+++ php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54060.phpt
2011-02-21 10:07:31 UTC (rev 308531)
@@ -0,0 +1,17 @@
+--TEST--
+Bug #54060 (Memory leak in openssl_encrypt)
+--SKIPIF--
+?php if (!extension_loaded(openssl)) die(skip); ?
+--FILE--
+?php
+
+$data = jfdslkjvflsdkjvlkfjvlkjfvlkdm,4w 043920r 9234r 32904r 09243
+r7-89437 r892374 r894372 r894 7289r7 f  frwerfh i iurf iuryw uyrfouiwy ruy
+972439 8478942 yrhfjkdhls;
+$pass = r23498rui324hjbnkj;
+
+openssl_encrypt($data, 'des3', $pass, false, '1qazxsw2');
+echo Done;
+?
+--EXPECT--
+Done

Modified: php/php-src/trunk/ext/openssl/openssl.c
===
--- php/php-src/trunk/ext/openssl/openssl.c 2011-02-21 08:12:33 UTC (rev 
308530)
+++ php/php-src/trunk/ext/openssl/openssl.c 2011-02-21 10:07:31 UTC (rev 
308531)
@@ -4741,6 +4741,7 @@
if (free_iv) {
efree(iv);
}
+   EVP_CIPHER_CTX_cleanup(cipher_ctx);
 }
 /* }}} */


Added: php/php-src/trunk/ext/openssl/tests/bug54060.phpt
===
--- php/php-src/trunk/ext/openssl/tests/bug54060.phpt   
(rev 0)
+++ php/php-src/trunk/ext/openssl/tests/bug54060.phpt   2011-02-21 10:07:31 UTC 
(rev 308531)
@@ -0,0 +1,17 @@
+--TEST--
+Bug #54060 (Memory leak in openssl_encrypt)
+--SKIPIF--
+?php if (!extension_loaded(openssl)) die(skip); ?
+--FILE--
+?php
+
+$data = jfdslkjvflsdkjvlkfjvlkjfvlkdm,4w 043920r 9234r 32904r 09243
+r7-89437 r892374 r894372 r894 7289r7 f  frwerfh i iurf iuryw uyrfouiwy ruy
+972439 8478942 yrhfjkdhls;
+$pass = r23498rui324hjbnkj;
+
+openssl_encrypt($data, 'des3', $pass, false, '1qazxsw2');
+echo Done;
+?
+--EXPECT--
+Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/openssl/ openssl.c

2011-02-21 Thread Pierre Joye
pajoye   Mon, 21 Feb 2011 10:09:50 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=308532

Log:
- fix test 025

Changed paths:
U   php/php-src/branches/PHP_5_3/ext/openssl/openssl.c

Modified: php/php-src/branches/PHP_5_3/ext/openssl/openssl.c
===
--- php/php-src/branches/PHP_5_3/ext/openssl/openssl.c  2011-02-21 10:07:31 UTC 
(rev 308531)
+++ php/php-src/branches/PHP_5_3/ext/openssl/openssl.c  2011-02-21 10:09:50 UTC 
(rev 308532)
@@ -3543,14 +3543,13 @@
char * outfilename; int outfilename_len;
char * extracertsfilename = NULL; int extracertsfilename_len;

-   RETVAL_FALSE;
-
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ssZZa!|ls,
infilename, infilename_len, outfilename, 
outfilename_len,
zcert, zprivkey, zheaders, flags, 
extracertsfilename,
extracertsfilename_len) == FAILURE) {
return;
}
+   RETVAL_FALSE;

if (strlen(infilename) != infilename_len) {
return;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/openssl/openssl.c trunk/ext/openssl/openssl.c

2011-02-21 Thread Pierre Joye
pajoye   Mon, 21 Feb 2011 12:47:38 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=308534

Log:
- fix bug #54061, memory leak in openssl_decrypt

Bug: http://bugs.php.net/54061 (unknown) 
  
Changed paths:
U   php/php-src/branches/PHP_5_3/NEWS
U   php/php-src/branches/PHP_5_3/ext/openssl/openssl.c
U   php/php-src/trunk/ext/openssl/openssl.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS   2011-02-21 10:19:38 UTC (rev 308533)
+++ php/php-src/branches/PHP_5_3/NEWS   2011-02-21 12:47:38 UTC (rev 308534)
@@ -8,8 +8,10 @@
 - Exif extension:
   . Fixed bug #54002 (crash on crafted tag, reported by Luca Carettoni). 
(Pierre)
 (CVE-2011-0708)
+
 - OpenSSL extension:
   . Fixed bug #54060 (Memory leaks when openssl_encrypt). (Pierre)
+  . Fixed bug #54061 (Memory leaks when openssl_decrypt). (Pierre)

 - SPL extension:
   . Fixed memory leak in DirectoryIterator::getExtension() and

Modified: php/php-src/branches/PHP_5_3/ext/openssl/openssl.c
===
--- php/php-src/branches/PHP_5_3/ext/openssl/openssl.c  2011-02-21 10:19:38 UTC 
(rev 308533)
+++ php/php-src/branches/PHP_5_3/ext/openssl/openssl.c  2011-02-21 12:47:38 UTC 
(rev 308534)
@@ -4804,6 +4804,7 @@
if (base64_str) {
efree(base64_str);
}
+   EVP_CIPHER_CTX_cleanup(cipher_ctx);
 }
 /* }}} */


Modified: php/php-src/trunk/ext/openssl/openssl.c
===
--- php/php-src/trunk/ext/openssl/openssl.c 2011-02-21 10:19:38 UTC (rev 
308533)
+++ php/php-src/trunk/ext/openssl/openssl.c 2011-02-21 12:47:38 UTC (rev 
308534)
@@ -4815,6 +4815,7 @@
if (base64_str) {
efree(base64_str);
}
+   EVP_CIPHER_CTX_cleanup(cipher_ctx);
 }
 /* }}} */


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/openssl/tests/bug54061.phpt trunk/ext/openssl/tests/bug54061.phpt

2011-02-21 Thread Pierre Joye
pajoye   Mon, 21 Feb 2011 12:50:26 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=308535

Log:
- fix bug #54061, memory leak in openssl_decrypt

Bug: http://bugs.php.net/54061 (unknown) 
  
Changed paths:
A   php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54061.phpt
A   php/php-src/trunk/ext/openssl/tests/bug54061.phpt

Added: php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54061.phpt
===
--- php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54061.phpt
(rev 0)
+++ php/php-src/branches/PHP_5_3/ext/openssl/tests/bug54061.phpt
2011-02-21 12:50:26 UTC (rev 308535)
@@ -0,0 +1,17 @@
+--TEST--
+Bug #54061 (Memory leak in openssl_decrypt)
+--SKIPIF--
+?php if (!extension_loaded(openssl)) die(skip); ?
+--FILE--
+?php
+$data = jfdslkjvflsdkjvlkfjvlkjfvlkdm,4w 043920r 9234r 32904r 09243
+r7-89437 r892374 r894372 r894 7289r7 f  frwerfh i iurf iuryw uyrfouiwy ruy
+972439 8478942 yrhfjkdhls;
+$pass = r23498rui324hjbnkj;
+
+$cr = openssl_encrypt($data, 'des3', $pass, false, '1qazxsw2');
+$dcr = openssl_decrypt($cr, 'des3', $pass, false, '1qazxsw2');
+echo Done;
+?
+--EXPECT--
+Done

Added: php/php-src/trunk/ext/openssl/tests/bug54061.phpt
===
--- php/php-src/trunk/ext/openssl/tests/bug54061.phpt   
(rev 0)
+++ php/php-src/trunk/ext/openssl/tests/bug54061.phpt   2011-02-21 12:50:26 UTC 
(rev 308535)
@@ -0,0 +1,17 @@
+--TEST--
+Bug #54061 (Memory leak in openssl_decrypt)
+--SKIPIF--
+?php if (!extension_loaded(openssl)) die(skip); ?
+--FILE--
+?php
+$data = jfdslkjvflsdkjvlkfjvlkjfvlkdm,4w 043920r 9234r 32904r 09243
+r7-89437 r892374 r894372 r894 7289r7 f  frwerfh i iurf iuryw uyrfouiwy ruy
+972439 8478942 yrhfjkdhls;
+$pass = r23498rui324hjbnkj;
+
+$cr = openssl_encrypt($data, 'des3', $pass, false, '1qazxsw2');
+$dcr = openssl_decrypt($cr, 'des3', $pass, false, '1qazxsw2');
+echo Done;
+?
+--EXPECT--
+Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c trunk/ext/mysqlnd/mysqlnd_result.c

2011-02-21 Thread Andrey Hristov
andrey   Mon, 21 Feb 2011 16:24:37 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=308540

Log:
fix invalid memory read. Thank you, valgrind

Changed paths:
U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c
U   php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c
===
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c   2011-02-21 
15:56:25 UTC (rev 308539)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_result.c   2011-02-21 
16:24:37 UTC (rev 308540)
@@ -1271,7 +1271,7 @@
/* libmysql's documentation says it should be so for SELECT 
statements */
conn-upsert_status.affected_rows = set-row_count;
}
-   DBG_INF_FMT(ret=%s row_count=MYSQLND_LLU_SPEC warnings=%u 
server_status=%u,
+   DBG_INF_FMT(ret=%s row_count=%u warnings=%u server_status=%u,
ret == PASS? PASS:FAIL, (uint) 
set-row_count, conn-upsert_status.warning_count, 
conn-upsert_status.server_status);
 end:
PACKET_FREE(row_packet);

Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c
===
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c  2011-02-21 15:56:25 UTC 
(rev 308539)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_result.c  2011-02-21 16:24:37 UTC 
(rev 308540)
@@ -1271,7 +1271,7 @@
/* libmysql's documentation says it should be so for SELECT 
statements */
conn-upsert_status.affected_rows = set-row_count;
}
-   DBG_INF_FMT(ret=%s row_count=MYSQLND_LLU_SPEC warnings=%u 
server_status=%u,
+   DBG_INF_FMT(ret=%s row_count=%u warnings=%u server_status=%u,
ret == PASS? PASS:FAIL, (uint) 
set-row_count, conn-upsert_status.warning_count, 
conn-upsert_status.server_status);
 end:
PACKET_FREE(row_packet);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php