]> granicus.if.org Git - php/commitdiff
Fixed memory leak
authorDmitry Stogov <dmitry@php.net>
Mon, 22 Aug 2005 06:56:26 +0000 (06:56 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 22 Aug 2005 06:56:26 +0000 (06:56 +0000)
Zend/zend_execute_API.c

index 731abce2f6f2f70e429f6d27c310799470c72c4d..2de3928f17c20bb9b19ae1e7e189e3aa61d41005 100644 (file)
@@ -1006,7 +1006,7 @@ ZEND_API int zend_u_lookup_class(zend_uchar type, void *name, int name_length, z
                return FAILURE;
        }
 
-       ZVAL_STRINGL(&autoload_function, ZEND_AUTOLOAD_FUNC_NAME, sizeof(ZEND_AUTOLOAD_FUNC_NAME)-1,  0);
+       ZVAL_STRINGL(&autoload_function, ZEND_AUTOLOAD_FUNC_NAME, sizeof(ZEND_AUTOLOAD_FUNC_NAME)-1, 0);
 
        ALLOC_ZVAL(class_name_ptr);
        INIT_PZVAL(class_name_ptr);
@@ -1038,6 +1038,10 @@ ZEND_API int zend_u_lookup_class(zend_uchar type, void *name, int name_length, z
        retval = zend_call_function(&fcall_info, &fcall_cache TSRMLS_CC);
        EG(autoload_func) = fcall_cache.function_handler;
 
+       if (UG(unicode)) {
+               zval_dtor(&autoload_function);
+       }
+
        zval_ptr_dtor(&class_name_ptr);
 
        zend_u_hash_del(EG(in_autoload), type, lc_name, lc_name_len+1);