diff --git a/config/config_test.go b/config/config_test.go index 3c7828b6a6..b391295c86 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -204,8 +204,8 @@ func TestConfigValidate_table(t *testing.T) { { "nested types in variable default", "validate-var-nested", - true, - "ERROR", + false, + "", }, } diff --git a/config/interpolate_walk.go b/config/interpolate_walk.go index 81fa812087..ead3d102e1 100644 --- a/config/interpolate_walk.go +++ b/config/interpolate_walk.go @@ -206,6 +206,12 @@ func (w *interpolationWalker) Primitive(v reflect.Value) error { } func (w *interpolationWalker) replaceCurrent(v reflect.Value) { + // if we don't have at least 2 values, we're not going to find a map, but + // we could panic. + if len(w.cs) < 2 { + return + } + c := w.cs[len(w.cs)-2] switch c.Kind() { case reflect.Map: