Changeset 8784ed0 in git
- Timestamp:
- 2011-03-19T14:54:32Z (9 years ago)
- Branches:
- 1.3
- Children:
- bd9466d
- Parents:
- 6b78ab8
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ChangeLog
r6b78ab8 r8784ed0 4 4 * compatibility fix: fix segv on shutdown when ionCube Loader is loaded 5 5 * fixed undefined index for xcache.count=1 and xcache.var_size>1 6 * fixed #258: builtin constant memory leak on compile 6 7 7 8 1.3.1 2010-11-27 -
utils.c
r77d4500 r8784ed0 600 600 } 601 601 /* }}} */ 602 static void xc_free_zend_constant(zend_constant *c) /* {{{ */ 603 { 604 if (!(c->flags & CONST_PERSISTENT)) { 605 zval_dtor(&c->value); 606 } 607 free(ZSTR_V(c->name)); 608 } 609 /* }}} */ 602 610 void xc_copy_internal_zend_constants(HashTable *target, HashTable *source) /* {{{ */ 603 611 { … … 643 651 #ifdef HAVE_XCACHE_CONSTANT 644 652 h = OG(zend_constants); 645 zend_hash_init_ex(&TG(zend_constants), 20, NULL, h->pDestructor, h->persistent, h->bApplyProtection);653 zend_hash_init_ex(&TG(zend_constants), 20, NULL, (dtor_func_t) xc_free_zend_constant, h->persistent, h->bApplyProtection); 646 654 xc_copy_internal_zend_constants(&TG(zend_constants), &XG(internal_constant_table)); 647 {648 zend_constant tmp_const;649 zend_hash_copy(&TG(zend_constants), &XG(internal_constant_table), (copy_ctor_func_t) xc_zend_constant_ctor, (void *) &tmp_const, sizeof(tmp_const));650 }651 655 TG(internal_constant_tail) = TG(zend_constants).pListTail; 652 656 #endif … … 712 716 713 717 #ifdef HAVE_XCACHE_CONSTANT 718 for (b = TG(zend_constants).pListHead; b != NULL && b != TG(internal_constant_tail); b = b->pListNext) { 719 zend_constant *c = (zend_constant*) b->pData; 720 xc_free_zend_constant(c); 721 } 722 714 723 b = TG(internal_constant_tail) ? TG(internal_constant_tail)->pListNext : TG(zend_constants).pListHead; 715 724 /* install constants */
Note: See TracChangeset
for help on using the changeset viewer.