summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-05-30 11:48:17 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-05-30 15:59:43 +0200
commit6462eecfbd7abc14fa62b33bb079ba424de7d765 (patch)
treedbcff5292acb8920c5d5a9f3bdf356bdf33a7c3a /config
parenta7d6b1413f7dd7fdda30b12d577b90f4bb0487ff (diff)
Avoid panic in invalid language config
Fixes #11046
Diffstat (limited to 'config')
-rw-r--r--config/allconfig/alldecoders.go13
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)