From 4fe5f1749093483f72625b7dc9923a8a6fda9ce8 Mon Sep 17 00:00:00 2001 From: ymq Date: Fri, 14 Aug 2026 11:27:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20remote=5Fdir=20=E6=A0=B9=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E7=BB=95=E8=BF=87=EF=BC=88rstrip=20=E5=90=8E=E7=A9=BA?= =?UTF-8?q?=E4=B8=B2=E6=A3=80=E6=9F=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pipeline_service/work_env.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pipeline_service/work_env.py b/pipeline_service/work_env.py index 380bfb3..a6b1a5e 100644 --- a/pipeline_service/work_env.py +++ b/pipeline_service/work_env.py @@ -126,6 +126,8 @@ def _validate_remote(remote_config: dict) -> str: if not remote_dir.startswith("/"): return "remote_dir 必须是绝对路径" _dir = remote_dir.rstrip("/") + if not _dir: + return "remote_dir 不能是根目录 /" if _dir in _FORBIDDEN_DIRS: return "remote_dir 不能是系统目录 " + _dir for d in _FORBIDDEN_DIRS: @@ -169,6 +171,8 @@ async def migrate_work_dir(account_name: str, from_mode: str, to_mode: str, env: if not remote_dir: return {"ok": False, "error": "缺少远程目录 remote_dir"} _d = remote_dir.rstrip("/") + if not _d: + return {"ok": False, "error": "远程目录是根目录,拒绝迁移"} if _d in _FORBIDDEN_DIRS: return {"ok": False, "error": "远程目录是系统目录,拒绝迁移: " + _d} for d in _FORBIDDEN_DIRS: