From bc6b6a63d7d197a7341edf9a44ba62e47e473b78 Mon Sep 17 00:00:00 2001 From: wy7681259 Date: Thu, 11 Sep 2025 09:49:12 +0800 Subject: [PATCH] fix(config): prevent panic by checking reflect.Value.IsValid() (#334) --- pkg/config/config.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index 3fb7524..5046cd2 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -239,9 +239,14 @@ func (config *Config) ParseUserFile(conf map[string]any) { } } else { fv := prop.assign(k, v) - prop.File = fv.Interface() - if prop.Env == nil { - prop.Ptr.Set(fv) + if fv.IsValid() { + prop.File = fv.Interface() + if prop.Env == nil { + prop.Ptr.Set(fv) + } + } else { + // continue invalid field + slog.Error("Attempted to access invalid field during config parsing: %s", v) } } }