cvs: ZendEngine2 / zend_object_handlers.c
| From: | Wez Furlong | Date: | Wed, 26 May 2004 22:19:44 +0000 |
| Subject: | cvs: ZendEngine2 / zend_object_handlers.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2668@lists.php.net to get a copy of this message | ||
wez Wed May 26 18:19:44 2004 EDT
Modified files:
/ZendEngine2 zend_object_handlers.c
Log:
Fix leak on systems where alloca isn't really alloca.
http://cvs.php.net/diff.php/ZendEngine2/zend_object_handlers.c?r1=1.98&r2=1.99&ty=u
Index: ZendEngine2/zend_object_handlers.c
diff -u ZendEngine2/zend_object_handlers.c:1.98 ZendEngine2/zend_object_handlers.c:1.99
--- ZendEngine2/zend_object_handlers.c:1.98 Tue May 4 11:03:28 2004
+++ ZendEngine2/zend_object_handlers.c Wed May 26 18:19:44 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_object_handlers.c,v 1.98 2004/05/04 15:03:28 wez Exp $ */
+/* $Id: zend_object_handlers.c,v 1.99 2004/05/26 22:19:44 wez Exp $ */
#include "zend.h"
#include "zend_globals.h"
@@ -671,6 +671,7 @@
zobj = Z_OBJ_P(object);
if (zend_hash_find(&zobj->ce->function_table, lc_method_name, method_len+1, (void
**)&fbc) == FAILURE) {
+ free_alloca(lc_method_name);
if (zobj->ce->__call) {
zend_internal_function *call_user_call = emalloc(sizeof(zend_internal_function));
call_user_call->type = ZEND_INTERNAL_FUNCTION;
@@ -681,7 +682,6 @@
call_user_call->fn_flags = 0;
call_user_call->function_name = estrndup(method_name, method_len);
- free_alloca(lc_method_name);
return (union _zend_function *)call_user_call;
} else {
return NULL;