diff options
| -rw-r--r-- | Zend/zend_execute.c | 2 | ||||
| -rw-r--r-- | Zend/zend_hash.c | 29 |
2 files changed, 17 insertions, 14 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 890c838667..fe36c4bb68 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1486,7 +1486,7 @@ static inline int zend_binary_assign_op_obj_helper(int (*binary_op)(zval *result z = Z_OBJ_HT_P(object)->read_property(object, property, 0 TSRMLS_CC); break; case ZEND_ASSIGN_DIM: - z = Z_OBJ_HT_P(object)->read_dimension(object, property, 0 TSRMLS_CC); + z = Z_OBJ_HT_P(object)->read_dimension(object, property TSRMLS_CC); break; } SEPARATE_ZVAL_IF_NOT_REF(&z); diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index ac53af332a..95d946d053 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -100,19 +100,22 @@ ZEND_API ulong zend_hash_func(char *arKey, uint nKeyLength) } -#define UPDATE_DATA(ht, p, pData, nDataSize) \ - if (nDataSize == sizeof(void*)) { \ - if (!(p)->pDataPtr) { \ - pefree((p)->pData, (ht)->persistent); \ - } \ - memcpy(&(p)->pDataPtr, pData, sizeof(void *)); \ - (p)->pData = &(p)->pDataPtr; \ - } else { \ - if ((p)->pDataPtr) { \ - (p)->pData = (void *) pemalloc(nDataSize, (ht)->persistent); \ - (p)->pDataPtr=NULL; \ - } \ - memcpy((p)->pData, pData, nDataSize); \ +#define UPDATE_DATA(ht, p, pData, nDataSize) \ + if (nDataSize == sizeof(void*)) { \ + if (!(p)->pDataPtr) { \ + pefree((p)->pData, (ht)->persistent); \ + } \ + memcpy(&(p)->pDataPtr, pData, sizeof(void *)); \ + (p)->pData = &(p)->pDataPtr; \ + } else { \ + if (!(p)->pDataPtr) { \ + (p)->pData = (void *) pemalloc(nDataSize, (ht)->persistent); \ + (p)->pDataPtr=NULL; \ + } else { \ + (p)->pData = (void *) perealloc((p)->pData, nDataSize, (ht)->persistent); \ + /* (p)->pDataPtr is already NULL so no need to initialize it */ \ + } \ + memcpy((p)->pData, pData, nDataSize); \ } #define INIT_DATA(ht, p, pData, nDataSize); \ |
