From: Ilia Alshanetsky Date: Sun, 15 Jan 2006 16:52:10 +0000 (+0000) Subject: MFH: Added a check for special characters in the session name. X-Git-Tag: php-4.4.3RC1~72 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=077194ed3061459e63827c1b54953117403735c4;p=php MFH: Added a check for special characters in the session name. --- diff --git a/NEWS b/NEWS index d9c49c5577..6660da72cf 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ PHP 4 NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2006, Version 4.4.3 +- Added a check for special characters in the session name. (Ilia) 13 Jan 2006, Version 4.4.2 - Added missing safe_mode/open_basedir checks into cURL extension. (Ilia) diff --git a/ext/session/session.c b/ext/session/session.c index 5118e42f8f..f02884c175 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -626,6 +626,12 @@ static void php_session_initialize(TSRMLS_D) char *val; int vallen; + /* check session name for invalid characters */ + if (PS(id) && strpbrk(PS(id), "\r\n\t <>'\"\\")) { + efree(PS(id)); + PS(id) = NULL; + } + if (!PS(mod)) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "No storage module chosen - failed to initialize session."); return;