[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-cvs
Subject:    [PHP-CVS] cvs: php-src(PHP_5_2) / NEWS  /ext/pcntl pcntl.c
From:       "Michael Wallner" <mike () php ! net>
Date:       2006-05-30 17:40:52
Message-ID: cvsmike1149010852 () cvsserver
[Download RAW message or body]

mike		Tue May 30 17:40:52 2006 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src	NEWS 
    /php-src/ext/pcntl	pcntl.c 
  Log:
  - fix bug #37635 (parameter of pcntl signal handler is trashed)
  
  
http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.547.2.65&r2=1.2027.2.547.2.66&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.65 php-src/NEWS:1.2027.2.547.2.66
--- php-src/NEWS:1.2027.2.547.2.65	Tue May 30 14:51:20 2006
+++ php-src/NEWS	Tue May 30 17:40:52 2006
@@ -49,10 +49,11 @@
 - Added RFC2397 (data: stream) support. (Marcus)
 - Fixed memory leaks in openssl streams context options (Pierre)
 - Fixed handling of extremely long paths inside tempnam() function. (Ilia)
+- Fixed bug #37635 (parameter of pcntl signal handler is trashed). (Mike)
 - Fixed bug #37632 (Protected method access problem). (Marcus)
-- Fixed bug #37616: DATE_RFC822 does not product RFC 822 dates. (Hannes
-  Magnusson, Derick)
 - Fixed bug #37620 (mysqli_ssl_set validation is innappropriate). (Georg)
+- Fixed bug #37616 (DATE_RFC822 does not product RFC 822 dates).
+  (Hannes Magnusson, Derick)
 - Fixed bug #37614 (Class name lowercased in error message). (Johannes)
 - Fixed bug #37587 (var without attribute causes segfault). (Marcus)
 - Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recursion
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcntl/pcntl.c?r1=1.48.2.2&r2=1.48.2.2.2.1&diff_format=u
Index: php-src/ext/pcntl/pcntl.c
diff -u php-src/ext/pcntl/pcntl.c:1.48.2.2 php-src/ext/pcntl/pcntl.c:1.48.2.2.2.1
--- php-src/ext/pcntl/pcntl.c:1.48.2.2	Sun Jan  1 12:50:10 2006
+++ php-src/ext/pcntl/pcntl.c	Tue May 30 17:40:52 2006
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: pcntl.c,v 1.48.2.2 2006/01/01 12:50:10 sniper Exp $ */
+/* $Id: pcntl.c,v 1.48.2.2.2.1 2006/05/30 17:40:52 mike Exp $ */
 
 #define PCNTL_DEBUG 0
 
@@ -693,16 +693,19 @@
 	PCNTL_G(head) = NULL; /* simple stores are atomic */
 	
 	/* Allocate */
-	MAKE_STD_ZVAL(param);
-	MAKE_STD_ZVAL(retval);
 
 	while (queue) {
 		if (zend_hash_index_find(&PCNTL_G(php_signal_table), queue->signo, (void **) &handle)==SUCCESS) {
+			MAKE_STD_ZVAL(retval);
+			MAKE_STD_ZVAL(param);
+			ZVAL_NULL(retval);
 			ZVAL_LONG(param, queue->signo);
 
 			/* Call php signal handler - Note that we do not report errors, and we ignore the return value */
 			/* FIXME: this is probably broken when multiple signals are handled in this while loop (retval) */
 			call_user_function(EG(function_table), NULL, *handle, retval, 1, &param TSRMLS_CC);
+			zval_ptr_dtor(&param);
+			zval_ptr_dtor(&retval);
 		}
 
 		next = queue->next;
@@ -713,10 +716,6 @@
 
 	/* Re-enable queue */
 	PCNTL_G(processing_signal_queue) = 0;
-
-	/* Clean up */
-	efree(param);
-	efree(retval);
 }
 
 

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic