From a8b4874e54ab497fba583a47b79ec284d5dbf47e Mon Sep 17 00:00:00 2001 From: Daniel Lysfjord Date: Wed, 4 Feb 2026 21:57:37 +0100 Subject: [PATCH 1/2] Skip directories when enumerating local files --- .../opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php b/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php index 6f72ba479e..58659cc6b7 100644 --- a/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php +++ b/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php @@ -150,11 +150,14 @@ public function backup() // Get list of files from local backup system $local_files = array(); $tmp_local_files = scandir('/conf/backup/'); - // Remove '.' and '..' + // Remove '.' and '..', skip directories foreach ($tmp_local_files as $tmp_local_file) { if ($tmp_local_file === '.' || $tmp_local_file === '..') { continue; } + if (is_dir("/conf/backup/".$tmp_local_file)) { + continue; + } $local_files[] = $tmp_local_file; } From b818b00e1cfb0a80b265634ca02f99d8b38fe2e2 Mon Sep 17 00:00:00 2001 From: Daniel Lysfjord Date: Wed, 4 Feb 2026 21:59:34 +0100 Subject: [PATCH 2/2] Use !is_file instead, since other non-file things can slip through.. --- .../src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php b/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php index 58659cc6b7..a2ecc3bc09 100644 --- a/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php +++ b/sysutils/nextcloud-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php @@ -155,7 +155,7 @@ public function backup() if ($tmp_local_file === '.' || $tmp_local_file === '..') { continue; } - if (is_dir("/conf/backup/".$tmp_local_file)) { + if (!is_file("/conf/backup/".$tmp_local_file)) { continue; } $local_files[] = $tmp_local_file;