summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShane Caraveo <shane@php.net>2001-07-11 05:57:18 +0000
committerShane Caraveo <shane@php.net>2001-07-11 05:57:18 +0000
commitff4dfc56f287d9bd9ec2e9c11be8dd4b920961dd (patch)
tree43d07984a6840ec6a0fa833aa46a81f96ff659bc
parentb5dfb0d540dda68b21540acbc3cde3f1206bc8c6 (diff)
downloadphp-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.c1
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);
}
}