laruence                                 Sun, 16 Oct 2011 03:00:51 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=318145

Log:
Fixed bug #60038 (SIGALRM cause segfault in php_error_cb)

Bug: https://bugs.php.net/60038 (Assigned) SIGALRM cause segfault in  
php_error_cb 
      
Changed paths:
    U   php/php-src/branches/PHP_5_4/NEWS
    U   php/php-src/branches/PHP_5_4/main/main.c
    U   php/php-src/trunk/main/main.c

Modified: php/php-src/branches/PHP_5_4/NEWS
===================================================================
--- php/php-src/branches/PHP_5_4/NEWS   2011-10-16 02:59:24 UTC (rev 318144)
+++ php/php-src/branches/PHP_5_4/NEWS   2011-10-16 03:00:51 UTC (rev 318145)
@@ -15,6 +15,7 @@
   . Fixed bug #55622 (memory corruption in parse_ini_string). (Pierre)
   . Fixed bug #55825 (Missing initial value of static locals in trait methods).
     (Laruence)
+  . Fixed bug #60038 (SIGALRM cause segfault in php_error_cb). (Laruence)

 - Openssl
 - Revert r313616 (When we have a blocking SSL socket, respect the timeout

Modified: php/php-src/branches/PHP_5_4/main/main.c
===================================================================
--- php/php-src/branches/PHP_5_4/main/main.c    2011-10-16 02:59:24 UTC (rev 
318144)
+++ php/php-src/branches/PHP_5_4/main/main.c    2011-10-16 03:00:51 UTC (rev 
318145)
@@ -900,6 +900,9 @@

        /* store the error if it has changed */
        if (display) {
+#ifdef ZEND_SIGNALS
+               HANDLE_BLOCK_INTERRUPTIONS();
+#endif
                if (PG(last_error_message)) {
                        free(PG(last_error_message));
                        PG(last_error_message) = NULL;
@@ -908,6 +911,9 @@
                        free(PG(last_error_file));
                        PG(last_error_file) = NULL;
                }
+#ifdef ZEND_SIGNALS
+               HANDLE_UNBLOCK_INTERRUPTIONS();
+#endif
                if (!error_filename) {
                        error_filename = "Unknown";
                }

Modified: php/php-src/trunk/main/main.c
===================================================================
--- php/php-src/trunk/main/main.c       2011-10-16 02:59:24 UTC (rev 318144)
+++ php/php-src/trunk/main/main.c       2011-10-16 03:00:51 UTC (rev 318145)
@@ -900,6 +900,9 @@

        /* store the error if it has changed */
        if (display) {
+#ifdef ZEND_SIGNALS
+               HANDLE_BLOCK_INTERRUPTIONS();
+#endif
                if (PG(last_error_message)) {
                        free(PG(last_error_message));
                        PG(last_error_message) = NULL;
@@ -908,6 +911,9 @@
                        free(PG(last_error_file));
                        PG(last_error_file) = NULL;
                }
+#ifdef ZEND_SIGNALS
+               HANDLE_UNBLOCK_INTERRUPTIONS();
+#endif
                if (!error_filename) {
                        error_filename = "Unknown";
                }

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

Reply via email to