diff --git a/Zend/tests/bug70914.phpt b/Zend/tests/bug70914.phpt new file mode 100644 index 00000000000..7da64d7d929 --- /dev/null +++ b/Zend/tests/bug70914.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #70895 null ptr deref and segfault with crafted callable +--SKIPIF-- + +--FILE-- +query('SELECT 1'); +$re = $st->fetchObject('%Z'); +?> +--EXPECTREGEX-- +Fatal error: Class '%Z' not found in .+bug70914.php on line \d+ diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 9d255edfd44..9979aac2560 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -220,7 +220,7 @@ static void zend_throw_or_error(int fetch_type, zend_class_entry *exception_ce, if (fetch_type & ZEND_FETCH_CLASS_EXCEPTION) { zend_throw_error(exception_ce, message); } else { - zend_error(E_ERROR, message); + zend_error(E_ERROR, "%s", message); } efree(message);