commit 241b7483ea954653512d4895ad6bacf79ee26ddc
parent e19a046c4be9b0654884259b9df94f41561e4fc3
Author: Cameron Moore <moorereason@gmail.com>
Date: Sat, 16 Jan 2021 23:05:58 -0600
tpl: Fix race condition in text template baseof
Copy most of the htmltemplate cloning to the textemplate implementation
in the same function.
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tpl/tplimpl/template.go b/tpl/tplimpl/template.go
@@ -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
}