diff options
-rw-r--r-- | ext/session/session.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index f66d151cbc..2bd1b9a619 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -270,8 +270,10 @@ int php_get_session_var(char *name, size_t namelen, zval ***state_var PLS_DC PSL HashTable *ht = &EG(symbol_table); if (!PG(register_globals)) - ht = Z_ARRVAL_P(PS(http_session_vars)); + ht = PS(http_session_vars) ? Z_ARRVAL_P(PS(http_session_vars)) : NULL; + if (!ht) return NULL; + return zend_hash_find(ht, name, namelen + 1, (void **)state_var); } |