mirror of
https://github.com/spf13/viper.git
synced 2026-09-20 03:18:21 +00:00
fix: do not allow overwriting the mapstructure output
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This commit is contained in:
committed by
Márk Sági-Kazár
parent
7dbe493dd1
commit
5964efa262
@@ -949,7 +949,6 @@ func (v *Viper) decodeStructKeys(input any, opts ...DecoderConfigOption) ([]stri
|
||||
func defaultDecoderConfig(output any, opts ...DecoderConfigOption) *mapstructure.DecoderConfig {
|
||||
c := &mapstructure.DecoderConfig{
|
||||
Metadata: nil,
|
||||
Result: output,
|
||||
WeaklyTypedInput: true,
|
||||
DecodeHook: mapstructure.ComposeDecodeHookFunc(
|
||||
mapstructure.StringToTimeDurationHookFunc(),
|
||||
@@ -957,9 +956,14 @@ func defaultDecoderConfig(output any, opts ...DecoderConfigOption) *mapstructure
|
||||
stringToWeakSliceHookFunc(","),
|
||||
),
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt(c)
|
||||
}
|
||||
|
||||
// Do not allow overwriting the output
|
||||
c.Result = output
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user