summaryrefslogtreecommitdiff
path: root/ext/session/mod_files.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2004-03-29 21:44:07 +0000
committerWez Furlong <wez@php.net>2004-03-29 21:44:07 +0000
commit32be6f268b59eed7ec5f1bcfd0a88e112a50dd85 (patch)
treed0563b087c985c809a33a89b2e695d7c24643578 /ext/session/mod_files.c
parent904dac52e2f1445899598d727c7fb511defb9d10 (diff)
downloadphp-git-32be6f268b59eed7ec5f1bcfd0a88e112a50dd85.tar.gz
Fix for Bug #26757: session.save_path defaults to bogus value on win32
Merge from branch with one main difference: the default save_path is set to the empty string on all platforms, whereas the code in the branch only does so for win32.
Diffstat (limited to 'ext/session/mod_files.c')
-rw-r--r--ext/session/mod_files.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c
index f4c35f9274..15cd5d7747 100644
--- a/ext/session/mod_files.c
+++ b/ext/session/mod_files.c
@@ -46,6 +46,7 @@
#include "php_session.h"
#include "mod_files.h"
#include "ext/standard/flock_compat.h"
+#include "php_open_temporary_file.h"
#define FILE_PREFIX "sess_"
@@ -239,6 +240,11 @@ PS_OPEN_FUNC(files)
size_t dirdepth = 0;
int filemode = 0600;
+ if (*save_path == '\0') {
+ /* if save path is an empty string, determine the temporary dir */
+ save_path = php_get_temporary_directory();
+ }
+
/* split up input parameter */
last = save_path;
p = strchr(save_path, ';');