]> granicus.if.org Git - php/commitdiff
Fixed memory leaks
authorDmitry Stogov <dmitry@php.net>
Tue, 24 Jun 2008 06:47:45 +0000 (06:47 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 24 Jun 2008 06:47:45 +0000 (06:47 +0000)
ext/session/session.c

index 1d2fab9caf9be4362ce2c333f3d87e356426812e..be820f3ee5767ce62a1b96c5fd9c1b8bf33a54c8 100644 (file)
@@ -1497,11 +1497,13 @@ PHP_FUNCTION(session_set_save_handler)
        }
        
        if (PS(session_status) != php_session_none) {
+               efree(args);
                RETURN_FALSE;
        }
        
        for (i = 0; i < 6; i++) {
                if (!zend_is_callable(*args[i], 0, &name)) {
+                       efree(args);
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument %d is not a valid callback", i+1);
                        efree(name);
                        RETURN_FALSE;
@@ -1519,6 +1521,7 @@ PHP_FUNCTION(session_set_save_handler)
                PS(mod_user_names).names[i] = *args[i];
        }
        
+       efree(args);
        RETURN_TRUE;
 }
 /* }}} */