tony2001 Thu Dec 9 09:17:34 2004 EDT
Modified files: (Branch: PHP_5_0)
/php-src/ext/session session.c
Log:
MFH: fix segfault in session_module_name() when session.save_handler is empty
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.4&r2=1.391.2.5&ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.4
php-src/ext/session/session.c:1.391.2.5
--- php-src/ext/session/session.c:1.391.2.4 Tue Dec 7 13:01:56 2004
+++ php-src/ext/session/session.c Thu Dec 9 09:17:34 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: session.c,v 1.391.2.4 2004/12/07 18:01:56 dmitry Exp $ */
+/* $Id: session.c,v 1.391.2.5 2004/12/09 14:17:34 tony2001 Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1334,11 +1334,21 @@
}
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();
+ }
}
}
/* }}} */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php