diff options
author | Shane Caraveo <shane@php.net> | 2001-07-11 05:57:18 +0000 |
---|---|---|
committer | Shane Caraveo <shane@php.net> | 2001-07-11 05:57:18 +0000 |
commit | ff4dfc56f287d9bd9ec2e9c11be8dd4b920961dd (patch) | |
tree | 43d07984a6840ec6a0fa833aa46a81f96ff659bc | |
parent | b5dfb0d540dda68b21540acbc3cde3f1206bc8c6 (diff) | |
download | php-git-ff4dfc56f287d9bd9ec2e9c11be8dd4b920961dd.tar.gz |
prevent php from crashing when serializing circular data.
This script produced the crash.
<?
$hash["test_key"] = "test_value";
$hash["hash_key"] = &$hash;
echo serialize($hash);
?>
-rw-r--r-- | ext/standard/var.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c index 8c0ce8c35a..7611fb7b51 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -342,6 +342,7 @@ PHPAPI void php_var_serialize(zval *buf, zval **struc, HashTable *var_hash) FREE_ZVAL(d); break; } + if (data == struc) return; php_var_serialize(buf, data, var_hash); } } |