From 7b0d41535e21a93d2a752a2aa43d7c2e7d40312c Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Fri, 4 Dec 2009 01:21:32 +0000 Subject: [PATCH] protect http_session_vars from interrupt corruption improve save_path check --- ext/session/session.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/session/session.c b/ext/session/session.c index c0d6691734..9e6bf525c5 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -569,7 +569,7 @@ static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ p = new_value; } - if (php_check_open_basedir(p TSRMLS_CC)) { + if (*p && php_check_open_basedir(p TSRMLS_CC)) { return FAILURE; } } @@ -1817,7 +1817,10 @@ static PHP_FUNCTION(session_unset) } IF_SESSION_VARS() { - HashTable *ht = Z_ARRVAL_P(PS(http_session_vars)); + HashTable *ht; + + SEPARATE_ZVAL_IF_NOT_REF(&PS(http_session_vars)); + ht = Z_ARRVAL_P(PS(http_session_vars)); /* Clean $_SESSION. */ zend_hash_clean(ht); -- 2.40.0