com php-src: Merge remote-tracking branch 'origin/PHP-5.6' into str_size_and_int64_56_backport: ext/date/ php_date.c ext/date/php_date.h
ext/fileinfo/libmagi c/softmagic.c ext/openssl/openssl.c ext/openssl/xp_ss l.c ext/standard/proc_open.c

From: Date: Tue, 04 Mar 2014 18:50:25 +0000
Subject: com php-src: Merge remote-tracking branch 'origin/PHP-5.6' into str_size_and_int64_56_backport: ext/date/ php_date.c ext/date/php_date.h
ext/fileinfo/libmagi c/softmagic.c ext/openssl/openssl.c ext/openssl/xp_ss l.c ext/standard/proc_open.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-76321@lists.php.net to get a copy of this message
Commit: b186b2774abe3e63f7c4b40084a76c5733589493 Author: Anatol Belski <ab@php.net> Tue, 4 Mar 2014 19:50:25 +0100 Parents: 816e21982e1215a5c2591885516835758cacf8e5 834b719cf5808351904734bab5f97f2e88d8176e Branches: str_size_and_int64_56_backport Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b186b2774abe3e63f7c4b40084a76c5733589493 Log: Merge remote-tracking branch 'origin/PHP-5.6' into str_size_and_int64_56_backport * origin/PHP-5.6: Improves fix for memory leak, keep in sync with upstream. Add notice about tsrm_virtual_cwd.h moved to zend_virtual_cwd.h as this introduce need for awfull hacks... Fixed NEWS for #60602 Fixed news for #60602 Updated news for #60602 proc_open(): separate environment values that aren't strings Added DateTimeImmutable::createFromMutable. Sort alphabetically Fixed NEWS. Capture peer cert even if verify fails Windows cert verify improvements + leak fixes Updated news for #66535 and #66109 Updated NEWS for #66535 Conflicts: ext/standard/proc_open.c Bugs: https://bugs.php.net/60602 https://bugs.php.net/66535 https://bugs.php.net/66109 Changed paths: MM ext/date/php_date.c MM ext/date/php_date.h MM ext/fileinfo/libmagic/softmagic.c MM ext/openssl/openssl.c MM ext/openssl/xp_ssl.c MM ext/standard/proc_open.c Diff: diff --cc ext/openssl/openssl.c index 5f68e64,b480be9..5d06242 mode 100644,100755..100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c diff --cc ext/standard/proc_open.c index 9d63d1b,f4c3b47...53bec8a --- a/ext/standard/proc_open.c +++ b/ext/standard/proc_open.c @@@ -113,8 -112,17 +113,17 @@@ static php_process_env_t _php_array_to_ zend_hash_get_current_data_ex(target_hash, (void **) &element, &pos) == SUCCESS; zend_hash_move_forward_ex(target_hash, &pos)) { - convert_to_string_ex(element); - el_len = Z_STRSIZE_PP(element); + if (Z_TYPE_PP(element) != IS_STRING) { + zval tmp; + + MAKE_COPY_ZVAL(element, &tmp); + convert_to_string(&tmp); - el_len = Z_STRLEN(tmp); ++ el_len = Z_STRSIZE(tmp); + + zval_dtor(&tmp); + } else { - el_len = Z_STRLEN_PP(element); ++ el_len = Z_STRSIZE_PP(element); + } if (el_len == 0) { continue; } @@@ -139,15 -147,22 +148,22 @@@ for (zend_hash_internal_pointer_reset_ex(target_hash, &pos); zend_hash_get_current_data_ex(target_hash, (void **) &element, &pos) == SUCCESS; zend_hash_move_forward_ex(target_hash, &pos)) { + zval tmp; + + if (Z_TYPE_PP(element) != IS_STRING) { + MAKE_COPY_ZVAL(element, &tmp); + convert_to_string(&tmp); + } else { + tmp = **element; + } - convert_to_string_ex(element); - el_len = Z_STRSIZE_PP(element); - el_len = Z_STRLEN(tmp); ++ el_len = Z_STRSIZE(tmp); if (el_len == 0) { - continue; + goto next_element; } - data = Z_STRVAL_PP(element); + data = Z_STRVAL(tmp); switch (zend_hash_get_current_key_ex(target_hash, &string_key, &string_length, &num_key, 0, &pos)) { case HASH_KEY_IS_STRING: if (string_length == 0) {

« previous php.cvs (#76321) next »