From: Xinchen Hui Date: Sat, 9 Mar 2013 15:08:14 +0000 (+0800) Subject: Fixed confused exception message while user threw exception X-Git-Tag: php-5.5.0beta1~48^2~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7197f0ffccea7f195bc28571e30c389eadda874b;p=php Fixed confused exception message while user threw exception --- diff --git a/Zend/tests/bug64354.phpt b/Zend/tests/bug64354.phpt new file mode 100644 index 0000000000..03a4b80b4b --- /dev/null +++ b/Zend/tests/bug64354.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #64354 (Unserialize array of objects whose class can't be autoloaded fail) +--FILE-- +getMessage()); +} +?> +--EXPECTF-- +string(9) "serialize" diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 384b66da4b..e2e81ed326 100644 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -452,7 +452,7 @@ ZEND_API int zend_user_serialize(zval *object, unsigned char **buffer, zend_uint zval_ptr_dtor(&retval); } - if (result == FAILURE) { + if (result == FAILURE && !EG(exception)) { zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "%s::serialize() must return a string or NULL", ce->name); } return result;