diff --git a/NEWS b/NEWS index 71aca12a156..d5d2cda7e4b 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ PHP NEWS ?? ??? 2013, PHP 5.5.3 - Core: + . Fixed bug #65470 (Segmentation fault in zend_error() with + --enable-dtrace). (Chris Jones) . Fixed bug #65225 (PHP_BINARY incorrectly set). (Patrick Allaert) . Fixed bug #62692 (PHP fails to build with DTrace). (Chris Jones, Kris Van Hees) diff --git a/Zend/zend.c b/Zend/zend.c index 89649bf0301..f9069c8e1b5 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1092,17 +1092,19 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */ error_filename = "Unknown"; } - va_start(args, format); - #ifdef HAVE_DTRACE if(DTRACE_ERROR_ENABLED()) { char *dtrace_error_buffer; + va_start(args, format); zend_vspprintf(&dtrace_error_buffer, 0, format, args); DTRACE_ERROR(dtrace_error_buffer, (char *)error_filename, error_lineno); efree(dtrace_error_buffer); + va_end(args); } #endif /* HAVE_DTRACE */ + va_start(args, format); + /* if we don't have a user defined error handler */ if (!EG(user_error_handler) || !(EG(user_error_handler_error_reporting) & type)