From 975acfe71ebed352d86753a6deba3475acad3238 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 29 May 2020 10:33:22 +0200 Subject: Pass zend_string message to zend_error_cb This makes the zend_error_cb API simpler, and avoid formatting the same message in multiple places. It should be noted that the passed zend_string is always non-persistent, so if you want to store it persistently somewhere, you may still need to duplicate it. The last_error_message is cleared a bit more aggressive, to make sure it doesn't hang around across allocator life-cycles. Closes GH-5639. --- sapi/cli/php_cli_server.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sapi/cli/php_cli_server.c') diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index dbee30700f..b9c5aa523b 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -1214,7 +1214,8 @@ static void php_cli_server_log_response(php_cli_server_client *client, int statu /* error */ if (append_error_message) { - spprintf(&error_buf, 0, " - %s in %s on line %d", PG(last_error_message), PG(last_error_file), PG(last_error_lineno)); + spprintf(&error_buf, 0, " - %s in %s on line %d", + ZSTR_VAL(PG(last_error_message)), PG(last_error_file), PG(last_error_lineno)); if (!error_buf) { efree(basic_buf); if (message) { -- cgit v1.2.1