dmitry Wed Apr 25 08:40:07 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/main SAPI.c Log: Fixed crashes because of SAPI handlers overrding from inside of dl()-ed extensions http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.c?r1=1.202.2.7.2.10&r2=1.202.2.7.2.11&diff_format=u Index: php-src/main/SAPI.c diff -u php-src/main/SAPI.c:1.202.2.7.2.10 php-src/main/SAPI.c:1.202.2.7.2.11 --- php-src/main/SAPI.c:1.202.2.7.2.10 Mon Apr 16 08:09:56 2007 +++ php-src/main/SAPI.c Wed Apr 25 08:40:07 2007 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: SAPI.c,v 1.202.2.7.2.10 2007/04/16 08:09:56 dmitry Exp $ */ +/* $Id: SAPI.c,v 1.202.2.7.2.11 2007/04/25 08:40:07 dmitry Exp $ */ #include <ctype.h> #include <sys/stat.h> @@ -861,6 +861,9 @@ SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry TSRMLS_DC) { + if (EG(in_execution)) { + return FAILURE; + } return zend_hash_add(&SG(known_post_content_types), post_entry->content_type, post_entry->content_type_len+1, (void *) post_entry, sizeof(sapi_post_entry), NULL); @@ -868,6 +871,9 @@ SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry TSRMLS_DC) { + if (EG(in_execution)) { + return; + } zend_hash_del(&SG(known_post_content_types), post_entry->content_type, post_entry->content_type_len+1); } @@ -875,6 +881,9 @@ SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(TSRMLS_D)) { + if (EG(in_execution)) { + return FAILURE; + } sapi_module.default_post_reader = default_post_reader; return SUCCESS; } @@ -882,12 +891,18 @@ SAPI_API int sapi_register_treat_data(void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC)) { + if (EG(in_execution)) { + return FAILURE; + } sapi_module.treat_data = treat_data; return SUCCESS; } SAPI_API int sapi_register_input_filter(unsigned int (*input_filter)(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC)) { + if (EG(in_execution)) { + return FAILURE; + } sapi_module.input_filter = input_filter; return SUCCESS; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php