summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuo Ohgaki <yohgaki@php.net>2015-09-07 04:45:20 +0900
committerYasuo Ohgaki <yohgaki@php.net>2015-09-07 04:55:08 +0900
commitaa352a34fd1077995ec159ba30a6cf62c70e64c7 (patch)
tree08358b0844b99e667aee076ef17ed72ed77f8dff
parentf34b858ed018d4c33bc0c3f03acc0bf143d35534 (diff)
downloadphp-git-aa352a34fd1077995ec159ba30a6cf62c70e64c7.tar.gz
Make sure closing save handler.
-rw-r--r--ext/session/session.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index 8c604631aa..be86dcae7f 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -2052,13 +2052,14 @@ static PHP_FUNCTION(session_regenerate_id)
} else {
ret = PS(mod)->s_write(&PS(mod_data), PS(id), ZSTR_EMPTY_ALLOC(), PS(gc_maxlifetime));
}
- PS(mod)->s_close(&PS(mod_data));
if (ret == FAILURE) {
+ PS(mod)->s_close(&PS(mod_data));
PS(session_status) = php_session_none;
php_error_docref(NULL, E_WARNING, "Session write failed. ID: %s (path: %s)", PS(mod)->s_name, PS(save_path));
RETURN_FALSE;
}
}
+ PS(mod)->s_close(&PS(mod_data));
/* New session data */
if (PS(session_vars)) {