adding a maximum of 20 for the DEPTH of delete in the file browser (may cause havoc in unknown case found in farafina server)

This commit is contained in:
Benjamin Sonntag 2017-08-08 15:20:46 +02:00
parent c8b3d1af2a
commit c7226c9010
1 changed files with 5 additions and 2 deletions

View File

@ -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);