summaryrefslogtreecommitdiff
path: root/ext/standard/var.c
diff options
context:
space:
mode:
authorMichael Wallner <mike@php.net>2011-10-19 10:09:24 +0000
committerMichael Wallner <mike@php.net>2011-10-19 10:09:24 +0000
commitb6921369b5c18f8ef95adb8b7fe93fd2d9a7df6b (patch)
tree8b7728a5c811c8562927c5b2d899d925009a4e4a /ext/standard/var.c
parentf2ce9b406bfd81708c77e51a8f63a7b4a1a9ac25 (diff)
downloadphp-git-b6921369b5c18f8ef95adb8b7fe93fd2d9a7df6b.tar.gz
Fix Bug #55801 Behavior of unserialize has changed:
(un)serialize in __wakeup/__sleep now use clean var_hashes
Diffstat (limited to 'ext/standard/var.c')
-rw-r--r--ext/standard/var.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c
index a70438bc7f..104b4a4a60 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -12,7 +12,7 @@
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
- | Authors: Jani Lehtimäki <jkl@njet.net> |
+ | Authors: Jani Lehtimäki <jkl@njet.net> |
| Thies C. Arntzen <thies@thieso.net> |
| Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
@@ -788,7 +788,9 @@ static void php_var_serialize_intern(smart_str *buf, zval *struc, HashTable *var
if (ce && ce != PHP_IC_ENTRY && zend_hash_exists(&ce->function_table, "__sleep", sizeof("__sleep"))) {
INIT_PZVAL(&fname);
ZVAL_STRINGL(&fname, "__sleep", sizeof("__sleep") - 1, 0);
+ BG(serialize_lock)++;
res = call_user_function_ex(CG(function_table), &struc, &fname, &retval_ptr, 0, 0, 1, NULL TSRMLS_CC);
+ BG(serialize_lock)--;
if (res == SUCCESS && !EG(exception)) {
if (retval_ptr) {