--- /dev/null
+--TEST--
+Bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
+--FILE--
+<?php
+class B implements Serializable {
+ public function serialize() {
+ throw new Exception("serialize");
+ return NULL;
+ }
+
+ public function unserialize($data) {
+ }
+}
+
+$data = array(new B);
+
+try {
+ serialize($data);
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+?>
+--EXPECTF--
+string(9) "serialize"
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;