From c7226c901020dd26f5544209a2b3e9114b7bc386 Mon Sep 17 00:00:00 2001 From: Benjamin Sonntag Date: Tue, 8 Aug 2017 15:20:46 +0200 Subject: [PATCH] adding a maximum of 20 for the DEPTH of delete in the file browser (may cause havoc in unknown case found in farafina server) --- bureau/class/m_bro.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bureau/class/m_bro.php b/bureau/class/m_bro.php index 071b465d..ec589ebf 100644 --- a/bureau/class/m_bro.php +++ b/bureau/class/m_bro.php @@ -1100,12 +1100,15 @@ class m_bro { * @param string $file Fichier ou dossier supprimer. * @access private */ - function _delete($file) { + function _delete($file,$depth=0) { global $err; // permet d'effacer de nombreux fichiers @set_time_limit(0); //chmod($file,0777); $err->log("bro", "_delete($file)"); + if ($depth>20) { + $err->log("bro", "CANCELING _delete($file) TOO DEEP"); + } if (is_dir($file)) { $handle = opendir($file); if (!$handle) { @@ -1114,7 +1117,7 @@ class m_bro { } while (($filename = readdir($handle)) !== false) { if ($filename != "." && $filename != "..") { - $this->_delete($file . "/" . $filename); + $this->_delete($file . "/" . $filename,$depth+1); } } closedir($handle);