Re: com php-src: Fixed bug #61728 (php-fpm SIGSEGV running friendica on nginx): NEWS ext/session/tests/bug61728.phpt main/main.c
| From: | Laruence | Date: | Sat, 14 Apr 2012 17:20:20 +0000 |
| Subject: | Re: com php-src: Fixed bug #61728 (php-fpm SIGSEGV running friendica on nginx): NEWS ext/session/tests/bug61728.phpt main/main.c | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-68774@lists.php.net to get a copy of this message | ||
Hi:
you may want to review this patch.
I have make sure all tests passed, but still not sure is there any
side-effect.
thanks
On Sun, Apr 15, 2012 at 1:16 AM, Xinchen Hui <laruence@php.net> wrote:
> Commit: 3b42f184cdcf512fdc1f944052bfa296f17a035f
> Author: Xinchen Hui <laruence@php.net> Sun, 15 Apr 2012 01:16:34 +0800
> Parents: 6ecac269728360180a2813e75dfbe8338a05a27a
> Branches: PHP-5.4
>
> Link:
> http://git.php.net/?p=php-src.git;a=commitdiff;h=3b42f184cdcf512fdc1f944052bfa296f17a035fy5ŠUÒú,k=â
> %øîà2
>
> Log:
> Fixed bug #61728 (php-fpm SIGSEGV running friendica on nginx)
>
> Bugs:
> https://bugs.php.net/61728
>
> Changed paths:
> M NEWS
> A ext/session/tests/bug61728.phpt
> M main/main.c
>
>
> Diff:
> diff --git a/NEWS b/NEWS
> index 05cc254..2b65382 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -17,6 +17,7 @@ PHP
> NEWS
> (merge after 5.3.11 release)
>
> - Core:
> + . Fixed bug #61728 (php-fpm SIGSEGV running friendica on nginx). (Laruence)
> . Fixed bug #61660 (bin2hex(hex2bin($data)) != $data). (Nikita Popov)
> . Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables
> (without apache2)). (Laruence)
> diff --git a/ext/session/tests/bug61728.phpt b/ext/session/tests/bug61728..phpt
> new file mode 100644
> index 0000000..30b876e
> --- /dev/null
> +++ b/ext/session/tests/bug61728.phpt
> @@ -0,0 +1,39 @@
> +--TEST--
> +Bug #61728 (php-fpm SIGSEGV running friendica on nginx)
> +--SKIPIF--
> +<?php include('skipif.inc'); ?>
> +--FILE--
> +<?php
> +function output_html($ext) {
> + return strlen($ext);
> +}
> +
> +function open ($save_path, $session_name) {
> + return true;
> +}
> +
> +function close() {
> + return true;
> +}
> +
> +function read ($id) {
> +}
> +
> +function write ($id, $sess_data) {
> + ob_start("output_html");
> + echo "laruence";
> + ob_end_flush();
> + return true;
> +}
> +
> +function destroy ($id) {
> +}
> +
> +function gc ($maxlifetime) {
> + return true;
> +}
> +
> +session_set_save_handler ("open", "close", "read",
> "write", "destroy", "gc");
> +session_start();
> +--EXPECTF--
> +8
> diff --git a/main/main.c b/main/main.c
> index 6a04ddb..c34f952 100644
> --- a/main/main.c
> +++ b/main/main.c
> @@ -1740,22 +1740,22 @@ void php_request_shutdown(void *dummy)
> }
> } zend_end_try();
>
> - /* 4. Shutdown output layer (send the set HTTP headers, cleanup output handlers,
> etc.) */
> - zend_try {
> - php_output_deactivate(TSRMLS_C);
> - } zend_end_try();
> -
> - /* 5. Reset max_execution_time (no longer executing php code after response sent) */
> + /* 4. Reset max_execution_time (no longer executing php code after response sent) */
> zend_try {
> zend_unset_timeout(TSRMLS_C);
> } zend_end_try();
>
> - /* 6. Call all extensions RSHUTDOWN functions */
> + /* 5. Call all extensions RSHUTDOWN functions */
> if (PG(modules_activated)) {
> zend_deactivate_modules(TSRMLS_C);
> php_free_shutdown_functions(TSRMLS_C);
> }
>
> + /* 6. Shutdown output layer (send the set HTTP headers, cleanup output handlers,
> etc.) */
> + zend_try {
> + php_output_deactivate(TSRMLS_C);
> + } zend_end_try();
> +
> /* 7. Destroy super-globals */
> zend_try {
> int i;
>
>
> --
> PHP CVS Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
Laruence Xinchen Hui
http://www.laruence.com/