From: David Soria Parra Date: Mon, 20 Jul 2009 10:12:12 +0000 (+0000) Subject: - Fix overflow and use our internal vssprintf implementation X-Git-Tag: php-5.4.0alpha1~191^2~3035 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9491c31906f16a73bab7ee571aef951eb9b4253b;p=php - Fix overflow and use our internal vssprintf implementation --- diff --git a/Zend/zend.c b/Zend/zend.c index e629160bf0..0032808b98 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1546,7 +1546,6 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */ zval *orig_user_error_handler; zend_bool in_compilation; zend_class_entry *saved_class_entry; - char dtrace_error_buffer[1024]; TSRMLS_FETCH(); /* Obtain relevant filename and lineno */ @@ -1592,9 +1591,11 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */ va_start(args, format); if(DTRACE_ERROR_ENABLED()) { - vsprintf(dtrace_error_buffer, format, args); + char *dtrace_error_buffer; + zend_vspprintf(&dtrace_error_buffer, 0, format, args); + DTRACE_ERROR(dtrace_error_buffer, error_filename, error_lineno); + efree(dtrace_error_buffer); } - DTRACE_ERROR(dtrace_error_buffer, error_filename, error_lineno); /* if we don't have a user defined error handler */