Hello
I am using the macros ZVAL_BOOL, ZVAL_LONG, ZVAL_DOUBLE and ZVAL_STRING to
change the value of a zval passed by reference. I noticed that these
macros do not free the original value if it's a string, array, object or
resource prior to the change. This causes a possible memory leak. Is
this a normal practice? And, if not, what is the accepted practice for
changing zval's passed by reference?
-- bob
Hello Robert,
Wednesday, November 26, 2003, 11:32:48 PM, you wrote:
Hello
I am using the macros ZVAL_BOOL, ZVAL_LONG, ZVAL_DOUBLE and ZVAL_STRING to
change the value of a zval passed by reference. I noticed that these
macros do not free the original value if it's a string, array, object or
resource prior to the change. This causes a possible memory leak. Is
this a normal practice? And, if not, what is the accepted practice for
changing zval's passed by reference?
You need to free the value prior to overwriting it by zval_dtor() or you
need to use the appropriate zval change macro.
--
Best regards,
Marcus mailto:helly@php.net