MFB: fix leak appearing when __autoload() throws an exception
authorAntony Dovgal <tony2001@php.net>
Tue, 20 Dec 2005 11:25:39 +0000 (11:25 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 20 Dec 2005 11:25:39 +0000 (11:25 +0000)
Zend/zend_execute_API.c

index 028ba9e5eac1a4b937241241fdda0aff545f1fa7..5b369f7efdb2a7082331cade8326dc5752b2a3e0 100644 (file)
@@ -970,7 +970,7 @@ ZEND_API int zend_u_lookup_class_ex(zend_uchar type, void *name, int name_length
        zval **args[1];
        zval autoload_function;
        zval *class_name_ptr;
-       zval *retval_ptr;
+       zval *retval_ptr = NULL;
        int retval;
        unsigned int lc_name_len;
        char *lc_name;
@@ -1057,6 +1057,8 @@ ZEND_API int zend_u_lookup_class_ex(zend_uchar type, void *name, int name_length
        }
        if (!EG(exception)) {
                EG(exception) = exception;
+       }
+       if (retval_ptr) {
                zval_ptr_dtor(&retval_ptr);
        }