diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-05-30 11:48:17 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-05-30 15:59:43 +0200 |
commit | 6462eecfbd7abc14fa62b33bb079ba424de7d765 (patch) | |
tree | dbcff5292acb8920c5d5a9f3bdf356bdf33a7c3a /config | |
parent | a7d6b1413f7dd7fdda30b12d577b90f4bb0487ff (diff) |
Avoid panic in invalid language config
Fixes #11046
Diffstat (limited to 'config')
-rw-r--r-- | config/allconfig/alldecoders.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/config/allconfig/alldecoders.go b/config/allconfig/alldecoders.go index c8944bd2d..b798ef798 100644 --- a/config/allconfig/alldecoders.go +++ b/config/allconfig/alldecoders.go @@ -245,12 +245,17 @@ var allDecoderSetups = map[string]decodeWeight{ if len(m) == 1 { // In v0.112.4 we moved this to the language config, but it's very commmon for mono language sites to have this at the top level. var first maps.Params + var ok bool for _, v := range m { - first = v.(maps.Params) - break + first, ok = v.(maps.Params) + if ok { + break + } } - if _, found := first["languagecode"]; !found { - first["languagecode"] = p.p.GetString("languagecode") + if first != nil { + if _, found := first["languagecode"]; !found { + first["languagecode"] = p.p.GetString("languagecode") + } } } p.c.Languages, err = langs.DecodeConfig(m) |