in the copy_zend_constant function it reads: void copy_zend_constant(zend_constant *c) { c->name = zend_strndup(c->name, c->name_len); if (!(c->flags & CONST_PERSISTENT)) { zval_copy_ctor(&c->value); if (c->flags & CONST_EFREE_PERSISTENT) { /* persist_alloc()'d data */ persist_alloc(&c->value); } } }
I draw your attention to the first line in the function: c->name = zend_strndup(c->name, c->name_len); First of all, why is this string duplicated only to store it to the same location? Secondly, is c->name freed somewhere else? Cause I can't see it being freed. Seems like this line can be removed... Joseph -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php