]> granicus.if.org Git - php/commitdiff
Convert to unpacked before deleting elements
authorTjerk Meesters <datibbaw@php.net>
Tue, 13 May 2014 01:42:12 +0000 (09:42 +0800)
committerTjerk Meesters <datibbaw@php.net>
Tue, 13 May 2014 03:58:28 +0000 (11:58 +0800)
Return FAILURE immediately if a string index removal is attempted.

Moved condition higher up

Zend/zend_hash.c

index 3ffdf6ef7641509bd49c0c8902bdcbb26f69b910..41805a2f921e9e65617e7057d9dfc373eeac595f 100644 (file)
@@ -675,6 +675,10 @@ ZEND_API int zend_hash_str_del(HashTable *ht, const char *str, int len)
 
        IS_CONSISTENT(ht);
 
+       if (ht->u.flags & HASH_FLAG_PACKED) {
+               return FAILURE;
+       }
+
        h = zend_inline_hash_func(str, len);
        nIndex = h & ht->nTableMask;