]> granicus.if.org Git - php/commitdiff
Did not revert back enough.
authorSascha Schumann <sas@php.net>
Wed, 6 Mar 2002 12:25:01 +0000 (12:25 +0000)
committerSascha Schumann <sas@php.net>
Wed, 6 Mar 2002 12:25:01 +0000 (12:25 +0000)
This patch does not make sense, because it enforces the existence
of a single directory.

ext/session/mod_mm.c

index 80bacbd4fa66a52b32da2e983cacd76c0c569709..1f05b4b73329ac3f297e9d83b7ada766fbbc81cd 100644 (file)
@@ -249,6 +249,7 @@ static void ps_mm_destroy(ps_mm *data)
 
 PHP_MINIT_FUNCTION(ps_mm)
 {
+       int save_path_len = strlen(PS(save_path));
        int mod_name_len = strlen(sapi_module.name);
        char *ps_mm_path, euid[30];
        int ret;
@@ -260,10 +261,14 @@ PHP_MINIT_FUNCTION(ps_mm)
        if (!sprintf(euid,"%d", geteuid())) 
                return FAILURE;
                
-    /* '/tmp/' + File + Module Name + Effective UID + \0 */    
-       ps_mm_path = do_alloca(5+sizeof(PS_MM_FILE)+mod_name_len+strlen(euid)+1);
+    /* Directory + '/' + File + Module Name + Effective UID + \0 */    
+       ps_mm_path = do_alloca(save_path_len+1+sizeof(PS_MM_FILE)+mod_name_len+strlen(euid)+1);
        
-       memcpy(ps_mm_path, "/tmp/", 5);
+       memcpy(ps_mm_path, PS(save_path), save_path_len + 1);
+       if (save_path_len > 0 && ps_mm_path[save_path_len - 1] != DEFAULT_SLASH) {
+               ps_mm_path[save_path_len] = DEFAULT_SLASH;
+               ps_mm_path[save_path_len+1] = '\0';
+       }
        strcat(ps_mm_path, PS_MM_FILE);
        strcat(ps_mm_path, sapi_module.name);
        strcat(ps_mm_path, euid);