summaryrefslogtreecommitdiff
path: root/ext/standard/var_unserializer.re
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2004-09-12 12:23:16 +0000
committerMarcus Boerger <helly@php.net>2004-09-12 12:23:16 +0000
commit06ade1ab1ca4756fba37ace5266d75079d937d2a (patch)
treed2ec2d4d86b3c4bb233c33ec2d35bf8d2d26491a /ext/standard/var_unserializer.re
parent6200c9a5a1eb7308fc341bc63456c43e2a78b68a (diff)
downloadphp-git-06ade1ab1ca4756fba37ace5266d75079d937d2a.tar.gz
- Check for legal key types
Diffstat (limited to 'ext/standard/var_unserializer.re')
-rw-r--r--ext/standard/var_unserializer.re7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index 531fcef8c8..d70f957a7e 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -207,7 +207,12 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, int
case IS_STRING:
zend_hash_update(ht, Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &data, sizeof(data), NULL);
break;
-
+ default:
+ zval_dtor(key);
+ FREE_ZVAL(key);
+ zval_dtor(data);
+ FREE_ZVAL(data);
+ return 0;
}
zval_dtor(key);