From 28be9e7e6693912efc1f3694450d8922aaf2cbe7 Mon Sep 17 00:00:00 2001 From: xfy Date: Mon, 20 Apr 2026 08:26:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(server):=20=E6=B7=BB=E5=8A=A0=20shutdownSer?= =?UTF-8?q?vers=20nil=20ctx=20=E9=98=B2=E5=BE=A1=E6=80=A7=E6=A3=80?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 防止 ctx 参数为 nil 时导致 panic: - nil ctx 时使用 context.Background() 作为默认值 - 防御性检查确保函数健壮性 Co-Authored-By: Claude Opus 4.7 --- internal/server/server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/server/server.go b/internal/server/server.go index 39d690f..9ba3575 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -1138,6 +1138,10 @@ func (s *Server) registerProxyRoutes(router *handler.Router, serverCfg *config.S // 返回值: // - error: 聚合错误,无错误或全部成功时返回 nil func shutdownServers(ctx context.Context, servers []*fasthttp.Server) error { + // 防御性检查:nil ctx 使用默认背景 + if ctx == nil { + ctx = context.Background() + } if len(servers) == 0 { return nil }