mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-05 02:44:27 +02:00
convert writeFile() to object method to remove a vulnerability
This commit is contained in:
@@ -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) {
|
||||
|
@@ -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);
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user