]> granicus.if.org Git - php/commitdiff
Fixed memory leaks
authorDmitry Stogov <dmitry@php.net>
Wed, 11 Jun 2008 07:46:43 +0000 (07:46 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 11 Jun 2008 07:46:43 +0000 (07:46 +0000)
ext/session/session.c

index 1b5200d14c569ae74e50ee559ac0b8aef8270a3b..a766af38e308617627414fa4d62e30523bdadc62 100644 (file)
@@ -1509,6 +1509,15 @@ PHP_FUNCTION(session_set_save_handler)
 
        zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
 
+       mdata = PS(mod_data);
+
+       if (mdata) {
+               for (i = 0; i < 6; i++) {
+                       zval_ptr_dtor(&mdata->names[i]);
+               }
+               efree(mdata);
+       }
+
        mdata = emalloc(sizeof(*mdata));
 
        for (i = 0; i < 6; i++) {