tpl: Fix race condition in text template baseof

Copy most of the htmltemplate cloning to the textemplate implementation
in the same function.
This commit is contained in:
Cameron Moore 2021-01-16 23:05:58 -06:00 committed by Bjørn Erik Pedersen
parent e19a046c4b
commit 241b7483ea

View file

@ -598,10 +598,16 @@ func (t *templateHandler) applyBaseTemplate(overlay, base templateInfo) (tpl.Tem
}
}
templ, err = templ.Parse(overlay.template)
templ, err = texttemplate.Must(templ.Clone()).Parse(overlay.template)
if err != nil {
return nil, overlay.errWithFileContext("parse failed", err)
}
// The extra lookup is a workaround, see
// * https://github.com/golang/go/issues/16101
// * https://github.com/gohugoio/hugo/issues/2549
// templ = templ.Lookup(templ.Name())
return templ, nil
}