convert writeFile() to object method to remove a vulnerability

This commit is contained in:
Uwe Tews
2015-01-21 21:12:00 +01:00
parent 7a1df12afa
commit 85f24ce413
3 changed files with 5 additions and 3 deletions

View File

@@ -106,7 +106,8 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource
*/
public function writeCachedContent(Smarty_Internal_Template $_template, $content)
{
if (Smarty_Internal_Write_File::writeFile($_template->cached->filepath, $content, $_template->smarty) === true) {
$obj = new Smarty_Internal_Write_File();
if ($obj->writeFile($_template->cached->filepath, $content, $_template->smarty) === true) {
$_template->cached->timestamp = @filemtime($_template->cached->filepath);
$_template->cached->exists = !!$_template->cached->timestamp;
if ($_template->cached->exists) {

View File

@@ -25,7 +25,7 @@ class Smarty_Internal_Write_File
* @throws SmartyException
* @return boolean true
*/
public static function writeFile($_filepath, $_contents, Smarty $smarty)
public function writeFile($_filepath, $_contents, Smarty $smarty)
{
$_error_reporting = error_reporting();
error_reporting($_error_reporting & ~E_NOTICE & ~E_WARNING);

View File

@@ -247,7 +247,8 @@ class Smarty_Template_Compiled
public function write(Smarty_Internal_Template $_template, $code)
{
if (!$_template->source->recompiled) {
if (Smarty_Internal_Write_File::writeFile($this->filepath, $code, $_template->smarty) === true) {
$obj = new Smarty_Internal_Write_File();
if ($obj->writeFile($this->filepath, $code, $_template->smarty) === true) {
$this->timestamp = @filemtime($this->filepath);
$this->exists = !!$this->timestamp;
if ($this->exists) {