]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.5' into PHP-5.6
authorDmitry Stogov <dmitry@zend.com>
Fri, 7 Nov 2014 06:54:05 +0000 (09:54 +0300)
committerDmitry Stogov <dmitry@zend.com>
Fri, 7 Nov 2014 06:54:05 +0000 (09:54 +0300)
* PHP-5.5:
  Partial fix for bug #68365 (zend_mm_heap corrupted after memory overflow in zend_hash_copy)
  Fixed bug #68351 (PDO::PARAM_BOOL and ATTR_EMULATE_PREPARES misbehaving)

1  2 
Zend/zend_variables.c

index 8a41902a97ab5b6d08677b18459e2b2156563e2f,cc73c379a7ab86a399d91c7dfb2c4969c585a344..75230babdabd7995e0217acdceaa84da08cc26cb
@@@ -137,14 -135,11 +137,14 @@@ ZEND_API void _zval_copy_ctor_func(zva
                                }
                                ALLOC_HASHTABLE_REL(tmp_ht);
                                zend_hash_init(tmp_ht, zend_hash_num_elements(original_ht), NULL, ZVAL_PTR_DTOR, 0);
+                               zvalue->value.ht = tmp_ht;
                                zend_hash_copy(tmp_ht, original_ht, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
                                tmp_ht->nNextFreeElement = original_ht->nNextFreeElement;
-                               zvalue->value.ht = tmp_ht;
                        }
                        break;
 +              case IS_CONSTANT_AST:
 +                      Z_AST_P(zvalue) = zend_ast_copy(Z_AST_P(zvalue));
 +                      break;
                case IS_OBJECT:
                        {
                                TSRMLS_FETCH();