config: Fix a potential deadlock in config reading
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 30 Jul 2021 09:53:27 +0000 (11:53 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 30 Jul 2021 09:53:27 +0000 (11:53 +0200)
Note that the deadlock has not been seen earlier, in tests on in real Hugo sites.

Fixes #8791

config/defaultConfigProvider.go

index 05c3b9126aafe880889b59a4eedf9030be492b35..2391ec85310dfacfdc72ea9e762b4b3337bbb8c2 100644 (file)
@@ -89,6 +89,7 @@ func (c *defaultConfigProvider) Get(k string) interface{} {
        c.mu.RLock()
        key, m := c.getNestedKeyAndMap(strings.ToLower(k), false)
        if m == nil {
+               c.mu.RUnlock()
                return nil
        }
        v := m[key]