[EMAIL PROTECTED] wrote:

> From:             [EMAIL PROTECTED]
> Operating system: Linux
> PHP version:      4.0CVS-2002-01-02
> PHP Bug Type:     Session related
> Bug description:  "mm" module for session saving uses hardcoded path
> 
> The session saving module in ext/session uses a hardcoded
> path for its session file (/tmp/mm_session). This is bad
> in environments where lots of php interpreters run in 
> different webservers and User IDs (and different php.ini)
> files. the attached patch fixes this problem and uses
> session.save_path for this file.
> 
> 
> 


--- php4-200201021200/ext/session/mod_mm.c      Tue Dec 11 16:36:29 2001
+++ php-4.1.0/ext/session/mod_mm.c      Wed Jan  2 22:04:29 2002
@@ -35,7 +35,7 @@
 # error mm is not thread-safe
 #endif
 
-#define PS_MM_PATH "/tmp/session_mm"
+#define PS_MM_FILE "session_mm"
 
 /* For php_uint32 */
 #include "ext/standard/basic_functions.h"
@@ -247,8 +247,18 @@
 
 PHP_MINIT_FUNCTION(ps_mm)
 {
+    char *ps_mm_path = calloc(strlen(PS(save_path))+1+strlen(PS_MM_FILE)+1, 1); /* 
+Directory + '/' + File + \0 */
+
        ps_mm_instance = calloc(sizeof(*ps_mm_instance), 1);
-       if (ps_mm_initialize(ps_mm_instance, PS_MM_PATH) != SUCCESS) {
+
+    strcpy(ps_mm_path, PS(save_path));
+
+    if((strlen(ps_mm_path) > 0) && (ps_mm_path[strlen(ps_mm_path)-1] != '/'))
+        strcat(ps_mm_path, "/");  /* Fixme Windows */
+
+    strcat(ps_mm_path, PS_MM_FILE);
+
+       if (ps_mm_initialize(ps_mm_instance, ps_mm_path) != SUCCESS) {
                ps_mm_instance = NULL;
                return FAILURE;
        }

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to