summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/session/session.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index 34d86f7658..cff31696af 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -1337,11 +1337,21 @@ PHP_FUNCTION(session_module_name)
}
PS(mod_data) = NULL;
- RETVAL_STRING(safe_estrdup(PS(mod)->s_name), 0);
-
+ if (PS(mod) && PS(mod)->s_name) {
+ RETVAL_STRING(safe_estrdup(PS(mod)->s_name), 0);
+ }
+ else {
+ RETVAL_EMPTY_STRING();
+ }
+
zend_alter_ini_entry("session.save_handler", sizeof("session.save_handler"), Z_STRVAL_PP(p_name), Z_STRLEN_PP(p_name), PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
} else {
- RETURN_STRING(safe_estrdup(PS(mod)->s_name), 0);
+ if (PS(mod) && PS(mod)->s_name) {
+ RETURN_STRING(safe_estrdup(PS(mod)->s_name), 0);
+ }
+ else {
+ RETURN_EMPTY_STRING();
+ }
}
}
/* }}} */