pkg/web: avoid shared middleware slice (#58458)

This commit is contained in:
Emil Tullstedt authored and GitHub committed 2022-11-08 10:58:04 -05:00
1 parent 2e6761b4e4
commit 75701695d8
1 file changed
+7 -1
+7 -1
View File
@@ -144,8 +144,14 @@ func mwFromHandler(handler Handler) Middleware {
}
func (m *Macaron) createContext(rw http.ResponseWriter, req *http.Request) *Context {
// NOTE: we have to explicitly copy the middleware chain here to avoid
// passing a shared slice to the *Context, which leads to racy behavior in
// case of later appends
mws := make([]Middleware, len(m.mws))
copy(mws, m.mws)
c := &Context{
mws: m.mws,
mws: mws,
Resp: NewResponseWriter(req.Method, rw),
}