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

Reply via email to