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)
|
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->timestamp = @filemtime($_template->cached->filepath);
|
||||||
$_template->cached->exists = !!$_template->cached->timestamp;
|
$_template->cached->exists = !!$_template->cached->timestamp;
|
||||||
if ($_template->cached->exists) {
|
if ($_template->cached->exists) {
|
||||||
|
@@ -25,7 +25,7 @@ class Smarty_Internal_Write_File
|
|||||||
* @throws SmartyException
|
* @throws SmartyException
|
||||||
* @return boolean true
|
* @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();
|
||||||
error_reporting($_error_reporting & ~E_NOTICE & ~E_WARNING);
|
error_reporting($_error_reporting & ~E_NOTICE & ~E_WARNING);
|
||||||
|
@@ -247,7 +247,8 @@ class Smarty_Template_Compiled
|
|||||||
public function write(Smarty_Internal_Template $_template, $code)
|
public function write(Smarty_Internal_Template $_template, $code)
|
||||||
{
|
{
|
||||||
if (!$_template->source->recompiled) {
|
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->timestamp = @filemtime($this->filepath);
|
||||||
$this->exists = !!$this->timestamp;
|
$this->exists = !!$this->timestamp;
|
||||||
if ($this->exists) {
|
if ($this->exists) {
|
||||||
|
Reference in New Issue
Block a user