From a03c320b89c0927155492ac71df7e86801e78c19 Mon Sep 17 00:00:00 2001 From: sagitchu Date: Tue, 21 Apr 2026 22:11:22 +0800 Subject: [PATCH] fix(gost): prevent panic in service parsing with empty md --- go-gost/x/config/parsing/service/parse.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go-gost/x/config/parsing/service/parse.go b/go-gost/x/config/parsing/service/parse.go index 07d278c..636419c 100644 --- a/go-gost/x/config/parsing/service/parse.go +++ b/go-gost/x/config/parsing/service/parse.go @@ -135,7 +135,7 @@ func ParseService(cfg *config.ServiceConfig) (service.Service, error) { postDown = mdutil.GetStrings(md, parsing.MDKeyPostDown) ignoreChain = mdutil.GetBool(md, parsing.MDKeyIgnoreChain) - if md.IsExists(parsing.MDKeyEnableStats) { + if md != nil && md.IsExists(parsing.MDKeyEnableStats) { enableStats = mdutil.GetBool(md, parsing.MDKeyEnableStats) } @@ -157,7 +157,7 @@ func ParseService(cfg *config.ServiceConfig) (service.Service, error) { resetTraffic := true if cfg.Metadata != nil { md := metadata.NewMetadata(cfg.Metadata) - if md.IsExists(parsing.MDKeyObserverResetTraffic) { + if md != nil && md.IsExists(parsing.MDKeyObserverResetTraffic) { resetTraffic = mdutil.GetBool(md, parsing.MDKeyObserverResetTraffic) } }