diff --git a/datamodels/2.x/itop-backup/dbrestore.class.inc.php b/datamodels/2.x/itop-backup/dbrestore.class.inc.php index 259c72990..fdb92aca1 100644 --- a/datamodels/2.x/itop-backup/dbrestore.class.inc.php +++ b/datamodels/2.x/itop-backup/dbrestore.class.inc.php @@ -232,8 +232,12 @@ class DBRestore extends DBBackup $oIterator = new RecursiveIteratorIterator($oDirectoryIterator); foreach ($oIterator as $oFileInfo) { - if (in_array($oFileInfo->getFilename(), $aStandardFiles)) continue; - if (strncmp($oFileInfo->getPathname(), $sDataDir.'/production-modules', strlen($sDataDir.'/production-modules')) == 0) continue; + if (in_array($oFileInfo->getFilename(), $aStandardFiles)) { + continue; + } + if (strncmp($oFileInfo->getPathname(), $sDataDir.'/production-modules', strlen($sDataDir.'/production-modules')) == 0) { + continue; + } $aExtraFiles[$oFileInfo->getPathname()] = APPROOT.substr($oFileInfo->getPathname(), strlen($sDataDir)); } diff --git a/setup/backup.class.inc.php b/setup/backup.class.inc.php index bbf0adfab..86c0045bb 100644 --- a/setup/backup.class.inc.php +++ b/setup/backup.class.inc.php @@ -253,10 +253,12 @@ class DBBackup $aExtraFiles = MetaModel::GetModuleSetting('itop-backup', 'extra_files', []); foreach($aExtraFiles as $sExtraFileOrDir) { - if(!file_exists(APPROOT.'/'.$sExtraFileOrDir)) continue; // Ignore non-existing files + if(!file_exists(APPROOT.'/'.$sExtraFileOrDir)) { + continue; // Ignore non-existing files + } - $sExtraFullPath = realpath(APPROOT.'/'.$sExtraFileOrDir); - if (strncmp(APPROOT, $sExtraFullPath, strlen(APPROOT)) !== 0) + $sExtraFullPath = utils::RealPath(APPROOT.'/'.$sExtraFileOrDir, APPROOT); + if ($sExtraFullPath === false) { throw new Exception("Backup: Aborting, resource '$sExtraFileOrDir'. Considered as UNSAFE because not inside the iTop directory."); }