From 57f80344bc625c1d8c260840c599ad24f1a4e64d Mon Sep 17 00:00:00 2001 From: yusing Date: Wed, 16 Apr 2025 14:25:06 +0800 Subject: [PATCH] fix: yaml unmarshal panic --- internal/autocert/provider_test/ovh_test.go | 2 +- internal/utils/serialization.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/autocert/provider_test/ovh_test.go b/internal/autocert/provider_test/ovh_test.go index 407139e8..b59ee29e 100644 --- a/internal/autocert/provider_test/ovh_test.go +++ b/internal/autocert/provider_test/ovh_test.go @@ -44,7 +44,7 @@ oauth2_config: } testYaml = testYaml[1:] // remove first \n opt := make(map[string]any) - ExpectNoError(t, yaml.Unmarshal([]byte(testYaml), opt)) + ExpectNoError(t, yaml.Unmarshal([]byte(testYaml), &opt)) ExpectNoError(t, utils.MapUnmarshalValidate(opt, cfg)) ExpectEqual(t, cfg, cfgExpected) } diff --git a/internal/utils/serialization.go b/internal/utils/serialization.go index 83c325a3..ea0f0c85 100644 --- a/internal/utils/serialization.go +++ b/internal/utils/serialization.go @@ -560,7 +560,7 @@ func ConvertString(src string, dst reflect.Value) (convertible bool, convErr gpe func UnmarshalValidateYAML[T any](data []byte, target *T) gperr.Error { m := make(map[string]any) - if err := yaml.Unmarshal(data, m); err != nil { + if err := yaml.Unmarshal(data, &m); err != nil { return gperr.Wrap(err) } return MapUnmarshalValidate(m, target) @@ -568,7 +568,7 @@ func UnmarshalValidateYAML[T any](data []byte, target *T) gperr.Error { func UnmarshalValidateYAMLMap[V any](data []byte) (_ functional.Map[string, V], err gperr.Error) { m := make(map[string]any) - if err = gperr.Wrap(yaml.Unmarshal(data, m)); err != nil { + if err = gperr.Wrap(yaml.Unmarshal(data, &m)); err != nil { return } m2 := make(map[string]V, len(m))