From eb15c7138bfdcf1e328ecc139f9495f00a6e4841 Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Wed, 10 Jun 2026 00:15:26 +0800 Subject: [PATCH] Fix list_node_files PermissionError on os.scandir Wrap os.scandir() in try-except to return empty list instead of crashing when a node directory is not readable. --- gns3server/compute/project.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gns3server/compute/project.py b/gns3server/compute/project.py index 38ec62c71..eebb65ca1 100644 --- a/gns3server/compute/project.py +++ b/gns3server/compute/project.py @@ -457,7 +457,14 @@ class Project: # Non-recursive: list only the current directory level files = [] - for entry in os.scandir(target_path): + try: + scandir_iter = os.scandir(target_path) + except PermissionError: + return files + except OSError as e: + log.error(f"Error listing node directory '{target_path}': {e}") + return files + for entry in scandir_iter: name = entry.name rel_path = name if not subpath else os.path.join(subpath, name) try: