diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2004-02-29 00:26:36 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2004-02-29 00:26:36 +0000 |
commit | 75f83f7bb41f284aa4a78ac31435d4f6ddd19aa4 (patch) | |
tree | 64755f69936252c2feb489831e1ce84e73cb3d84 /ext/session | |
parent | 0f116e752446c07f3efacacdf2a58d99d025417e (diff) | |
download | php-git-75f83f7bb41f284aa4a78ac31435d4f6ddd19aa4.tar.gz |
- Fix segfaults on deserialisation of referenced variables.
# ALLOC_INIT_ZVAL() initialises the type field to IS_NULL, while
# MAKE_STD_ZVAL() doesn't. This caused a kind of random crash
# when zval_ptr_dtor() was applied on an intact zval created by
# the latter method.
#
# Please check relevant bugs again. There should be some that
# have already been marked as bogus.
Diffstat (limited to 'ext/session')
-rw-r--r-- | ext/session/session.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index 4f1bb11e6e..27bce4a2ba 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -498,7 +498,7 @@ PS_SERIALIZER_DECODE_FUNC(php) q++; if (has_value) { - MAKE_STD_ZVAL(current); + ALLOC_INIT_ZVAL(current); if (php_var_unserialize(¤t, &q, endptr, &var_hash TSRMLS_CC)) { php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC); } |