From 987c843674a7af7a9c5da018e4470469131d704a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gustavo=20Andr=C3=A9=20dos=20Santos=20Lopes?= Date: Tue, 5 Jul 2011 16:09:06 +0000 Subject: [PATCH] - Fixed bug #52935 (call exit in user_error_handler cause stream relate core). --- NEWS | 2 ++ main/streams/streams.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/NEWS b/NEWS index 7b9bc11edb..30e58fad7a 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS . Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) (Ralph Schindler, Dmitry) . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) + . Fixed bug #52935 (call exit in user_error_handler cause stream relate + core). (Gustavo) - PDO DBlib: . Fixed bug #54329 (MSSql extension memory leak). diff --git a/main/streams/streams.c b/main/streams/streams.c index eb2eb07082..81adff8137 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -154,6 +154,7 @@ void php_stream_display_wrapper_errors(php_stream_wrapper *wrapper, const char * char *tmp = estrdup(path); char *msg; int free_msg = 0; + php_stream_wrapper orig_wrapper; if (wrapper) { if (wrapper->err_count > 0) { @@ -198,7 +199,16 @@ void php_stream_display_wrapper_errors(php_stream_wrapper *wrapper, const char * } php_strip_url_passwd(tmp); + if (wrapper) { + /* see bug #52935 */ + orig_wrapper = *wrapper; + wrapper->err_stack = NULL; + wrapper->err_count = 0; + } php_error_docref1(NULL TSRMLS_CC, tmp, E_WARNING, "%s: %s", caption, msg); + if (wrapper) { + *wrapper = orig_wrapper; + } efree(tmp); if (free_msg) { efree(msg); -- 2.50.1