]> granicus.if.org Git - php/commitdiff
Functionality & crash fixes
authorZeev Suraski <zeev@php.net>
Sun, 9 Jan 2000 19:16:34 +0000 (19:16 +0000)
committerZeev Suraski <zeev@php.net>
Sun, 9 Jan 2000 19:16:34 +0000 (19:16 +0000)
Zend/zend_execute.c

index 42bcc25938ddfb978602be955de6b15a4d732eb0..ac48ac6780cdd02f5e16e255a8c70a27c1a8205e 100644 (file)
@@ -627,7 +627,6 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode
                zend_overloaded_element overloaded_element;
 
                if (Ts[op1->u.var].EA.type == IS_STRING_OFFSET) {
-                       zval_ptr_dtor(&Ts[op1->u.var].EA.str);
                        switch (type) {
                                case BP_VAR_R:
                                case BP_VAR_IS:
@@ -665,7 +664,8 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode
                return;
        }
 
-       if (container->type == IS_NULL) {
+       if (container->type==IS_NULL
+               || (container->type==IS_STRING && container->value.str.len==0)) {
                switch (type) {
                        case BP_VAR_RW:
                        case BP_VAR_W: