diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 2c75581b7f..52d5fc6c3b 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -99,6 +99,7 @@
[Fix] Unable to login to some jabber server, reverted previous change (Bug #25095)
[Fix] Do not return BMP as valid image type for GD image manipulation (Bug #25925)
[Change] For determining the maximum number of private messages in one box, use the biggest value from all groups the user is a member of (Bug #24665)
+ [Fix] Correctly determine safe mode for temp file creation in functions_upload.php (Bug #23525)
1.ii. Changes since 3.0.0
diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php
index ca4f51c12f..50108068cd 100644
--- a/phpBB/includes/functions_upload.php
+++ b/phpBB/includes/functions_upload.php
@@ -257,7 +257,7 @@ class filespec
return false;
}
- $upload_mode = (@ini_get('open_basedir') || @ini_get('safe_mode')) ? 'move' : 'copy';
+ $upload_mode = (@ini_get('open_basedir') || @ini_get('safe_mode') || strtolower(@ini_get('safe_mode')) == 'on') ? 'move' : 'copy';
$upload_mode = ($this->local) ? 'local' : $upload_mode;
$this->destination_file = $this->destination_path . '/' . basename($this->realname);
@@ -741,7 +741,7 @@ class fileupload
return $file;
}
- $tmp_path = (!@ini_get('safe_mode')) ? false : $phpbb_root_path . 'cache';
+ $tmp_path = (!@ini_get('safe_mode') || strtolower(@ini_get('safe_mode')) == 'off') ? false : $phpbb_root_path . 'cache';
$filename = tempnam($tmp_path, unique_id() . '-');
if (!($fp = @fopen($filename, 'wb')))