} else if (zend_ast_is_list(ast)) {
zend_ast_list *list = zend_ast_get_list(ast);
zend_ast_list *copy = emalloc(
- sizeof(zend_ast_list) + sizeof(zend_ast *) * (list->children - 1));
+ sizeof(zend_ast_list) - sizeof(zend_ast *) + sizeof(zend_ast *) * list->children);
copy->kind = list->kind;
copy->attr = list->attr;
copy->children = list->children;
return (zend_ast *) copy;
} else {
uint32_t children = zend_ast_get_num_children(ast);
- zend_ast *copy = emalloc(sizeof(zend_ast) + sizeof(zend_ast *) * (children - 1));
+ zend_ast *copy = emalloc(sizeof(zend_ast) - sizeof(zend_ast *) + sizeof(zend_ast *) * children);
copy->kind = ast->kind;
copy->attr = ast->attr;
for (i = 0; i < children; i++) {
} else if (zend_ast_is_list(ast)) {
zend_ast_list *list = zend_ast_get_list(ast);
zend_ast_list *copy = zend_accel_memdup(ast,
- sizeof(zend_ast_list) + sizeof(zend_ast *) * (list->children - 1));
+ sizeof(zend_ast_list) - sizeof(zend_ast *) + sizeof(zend_ast *) * list->children);
for (i = 0; i < list->children; i++) {
if (copy->child[i]) {
copy->child[i] = zend_persist_ast(copy->child[i] TSRMLS_CC);
node = (zend_ast *) copy;
} else {
uint32_t children = zend_ast_get_num_children(ast);
- node = zend_accel_memdup(ast, sizeof(zend_ast) + sizeof(zend_ast *) * (children - 1));
+ node = zend_accel_memdup(ast, sizeof(zend_ast) - sizeof(zend_ast *) + sizeof(zend_ast *) * children);
for (i = 0; i < children; i++) {
if (node->child[i]) {
node->child[i] = zend_persist_ast(node->child[i] TSRMLS_CC);
ADD_SIZE(zend_persist_zval_calc(zend_ast_get_zval(ast) TSRMLS_CC));
} else if (zend_ast_is_list(ast)) {
zend_ast_list *list = zend_ast_get_list(ast);
- ADD_SIZE(sizeof(zend_ast_list) + sizeof(zend_ast *) * (list->children - 1));
+ ADD_SIZE(sizeof(zend_ast_list) - sizeof(zend_ast *) + sizeof(zend_ast *) * list->children);
for (i = 0; i < list->children; i++) {
if (list->child[i]) {
ADD_SIZE(zend_persist_ast_calc(list->child[i] TSRMLS_CC));
}
} else {
uint32_t children = zend_ast_get_num_children(ast);
- ADD_SIZE(sizeof(zend_ast) + sizeof(zend_ast *) * (children - 1));
+ ADD_SIZE(sizeof(zend_ast) - sizeof(zend_ast *) + sizeof(zend_ast *) * children);
for (i = 0; i < children; i++) {
if (ast->child[i]) {
ADD_SIZE(zend_persist_ast_calc(ast->child[i] TSRMLS_CC));