laruence                                 Wed, 04 Jan 2012 08:25:06 +0000

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

Log:
Fixed bug #60627 (httpd.worker segfault on startup with php_value)

Bug: https://bugs.php.net/60627 (Analyzed) httpd.worker segfault on startup 
with php_value
      
Changed paths:
    U   php/php-src/branches/PHP_5_4/NEWS
    U   php/php-src/branches/PHP_5_4/Zend/zend.h
    U   php/php-src/branches/PHP_5_4/Zend/zend_signal.h
    U   php/php-src/trunk/Zend/zend.h
    U   php/php-src/trunk/Zend/zend_signal.h

Modified: php/php-src/branches/PHP_5_4/NEWS
===================================================================
--- php/php-src/branches/PHP_5_4/NEWS   2012-01-04 08:13:58 UTC (rev 321752)
+++ php/php-src/branches/PHP_5_4/NEWS   2012-01-04 08:25:06 UTC (rev 321753)
@@ -5,6 +5,8 @@
   . Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax). (Dmitry)
   . Fixed bug #60611 (Segmentation fault with Cls::{expr}() syntax). (Laruence)
   . Fixed bug #55871 (Interruption in substr_replace()). (Stas)
+  . Fixed bug #60627 (httpd.worker segfault on startup with php_value).
+    (Laruence)

 - SAPI:
   . Fixed bug #55500 (Corrupted $_FILES indices lead to security concern).

Modified: php/php-src/branches/PHP_5_4/Zend/zend.h
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/zend.h    2012-01-04 08:13:58 UTC (rev 
321752)
+++ php/php-src/branches/PHP_5_4/Zend/zend.h    2012-01-04 08:25:06 UTC (rev 
321753)
@@ -709,8 +709,8 @@
 #else
 #include "zend_signal.h"

-#define HANDLE_BLOCK_INTERRUPTIONS()           SIGG(depth)++;
-#define HANDLE_UNBLOCK_INTERRUPTIONS()         if 
(UNEXPECTED((--SIGG(depth))==SIGG(blocked))) { 
zend_signal_handler_unblock(TSRMLS_C); }
+#define HANDLE_BLOCK_INTERRUPTIONS()           
ZEND_SIGNAL_BLOCK_INTERRUPUTIONS()
+#define HANDLE_UNBLOCK_INTERRUPTIONS()         
ZEND_SIGNAL_UNBLOCK_INTERRUPTIONS()
 #endif

 BEGIN_EXTERN_C()

Modified: php/php-src/branches/PHP_5_4/Zend/zend_signal.h
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/zend_signal.h     2012-01-04 08:13:58 UTC 
(rev 321752)
+++ php/php-src/branches/PHP_5_4/Zend/zend_signal.h     2012-01-04 08:25:06 UTC 
(rev 321753)
@@ -69,9 +69,13 @@
 BEGIN_EXTERN_C()
 ZEND_API extern int zend_signal_globals_id;
 END_EXTERN_C()
+# define ZEND_SIGNAL_BLOCK_INTERRUPUTIONS() if 
(EXPECTED(zend_signal_globals_id)) { SIGG(depth)++; }
+# define ZEND_SIGNAL_UNBLOCK_INTERRUPTIONS() if 
(EXPECTED(zend_signal_globals_id) && 
UNEXPECTED((--SIGG(depth))==SIGG(blocked))) { 
zend_signal_handler_unblock(TSRMLS_C); }
 #else /* ZTS */
 # define SIGG(v) (zend_signal_globals.v)
 extern ZEND_API zend_signal_globals_t zend_signal_globals;
+# define ZEND_SIGNAL_BLOCK_INTERRUPUTIONS()  SIGG(depth)++;
+# define ZEND_SIGNAL_UNBLOCK_INTERRUPTIONS() if 
(UNEXPECTED((--SIGG(depth))==SIGG(blocked))) { 
zend_signal_handler_unblock(TSRMLS_C); }
 #endif /* not ZTS */

 # define SIGNAL_BEGIN_CRITICAL()       sigset_t oldmask; \

Modified: php/php-src/trunk/Zend/zend.h
===================================================================
--- php/php-src/trunk/Zend/zend.h       2012-01-04 08:13:58 UTC (rev 321752)
+++ php/php-src/trunk/Zend/zend.h       2012-01-04 08:25:06 UTC (rev 321753)
@@ -709,8 +709,8 @@
 #else
 #include "zend_signal.h"

-#define HANDLE_BLOCK_INTERRUPTIONS()           SIGG(depth)++;
-#define HANDLE_UNBLOCK_INTERRUPTIONS()         if 
(UNEXPECTED((--SIGG(depth))==SIGG(blocked))) { 
zend_signal_handler_unblock(TSRMLS_C); }
+#define HANDLE_BLOCK_INTERRUPTIONS()           
ZEND_SIGNAL_BLOCK_INTERRUPUTIONS()
+#define HANDLE_UNBLOCK_INTERRUPTIONS()         
ZEND_SIGNAL_UNBLOCK_INTERRUPTIONS()
 #endif

 BEGIN_EXTERN_C()

Modified: php/php-src/trunk/Zend/zend_signal.h
===================================================================
--- php/php-src/trunk/Zend/zend_signal.h        2012-01-04 08:13:58 UTC (rev 
321752)
+++ php/php-src/trunk/Zend/zend_signal.h        2012-01-04 08:25:06 UTC (rev 
321753)
@@ -69,9 +69,13 @@
 BEGIN_EXTERN_C()
 ZEND_API extern int zend_signal_globals_id;
 END_EXTERN_C()
+# define ZEND_SIGNAL_BLOCK_INTERRUPUTIONS() if 
(EXPECTED(zend_signal_globals_id)) { SIGG(depth)++; }
+# define ZEND_SIGNAL_UNBLOCK_INTERRUPTIONS() if 
(EXPECTED(zend_signal_globals_id) && 
UNEXPECTED((--SIGG(depth))==SIGG(blocked))) { 
zend_signal_handler_unblock(TSRMLS_C); }
 #else /* ZTS */
 # define SIGG(v) (zend_signal_globals.v)
 extern ZEND_API zend_signal_globals_t zend_signal_globals;
+# define ZEND_SIGNAL_BLOCK_INTERRUPUTIONS()  SIGG(depth)++;
+# define ZEND_SIGNAL_UNBLOCK_INTERRUPTIONS() if 
(UNEXPECTED((--SIGG(depth))==SIGG(blocked))) { 
zend_signal_handler_unblock(TSRMLS_C); }
 #endif /* not ZTS */

 # define SIGNAL_BEGIN_CRITICAL()       sigset_t oldmask; \

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

Reply via email to