From 2796160d15463a04acd7088fea379593d2c9caa0 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Wed, 7 Dec 2005 02:37:05 +0000 Subject: [PATCH] Better critical error handling (fix for previous html encoding patch). --- main/main.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/main/main.c b/main/main.c index 9b9ae472b4..af8faa059a 100644 --- a/main/main.c +++ b/main/main.c @@ -770,12 +770,14 @@ static void php_error_cb(int type, const char *error_filename, const uint error_ char *append_string = INI_STR("error_append_string"); if (PG(html_errors)) { - char *buf, *buf2; - int len2, len = spprintf(&buf, 0, "%s
\n%s: %s in %s on line %d
\n%s", STR_PRINT(prepend_string), error_type_str, buffer, error_filename, error_lineno, STR_PRINT(append_string)); - buf2 = php_escape_html_entities(buf, len, &len2, 0, ENT_COMPAT, NULL TSRMLS_CC); - php_printf("%s", buf2); - efree(buf); - efree(buf2); + if (type == E_ERROR) { + int len; + char *buf = php_escape_html_entities(buffer, buffer_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC); + php_printf("%s
\n%s: %s in %s on line %d
\n%s", STR_PRINT(prepend_string), error_type_str, buf, error_filename, error_lineno, STR_PRINT(append_string)); + efree(buf); + } else { + php_printf("%s
\n%s: %s in %s on line %d
\n%s", STR_PRINT(prepend_string), error_type_str, buffer, error_filename, error_lineno, STR_PRINT(append_string)); + } } else { php_printf("%s\n%s: %s in %s on line %d\n%s", STR_PRINT(prepend_string), error_type_str, buffer, error_filename, error_lineno, STR_PRINT(append_string)); } -- 2.40.0