From 670a2247af2a42267e11bf0c3c36a3302683c780 Mon Sep 17 00:00:00 2001 From: ntap-fge <117348352+ntap-fge@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:02:05 +0200 Subject: [PATCH] Fix nil pointer dereference when accessing /public/ --- pkg/api/static/static.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/api/static/static.go b/pkg/api/static/static.go index 96c4e23aac..7849db3439 100644 --- a/pkg/api/static/static.go +++ b/pkg/api/static/static.go @@ -131,6 +131,7 @@ func staticHandler(ctx *macaron.Context, log *log.Logger, opt StaticOptions) boo } f, err := opt.FileSystem.Open(file) + fResponse := f if err != nil { return false } @@ -154,17 +155,18 @@ func staticHandler(ctx *macaron.Context, log *log.Logger, opt StaticOptions) boo } file = path.Join(file, opt.IndexFile) - f, err = opt.FileSystem.Open(file) + fIndex, err := opt.FileSystem.Open(file) + fResponse = fIndex if err != nil { return false // Discard error. } defer func() { - if err := f.Close(); err != nil { + if err := fIndex.Close(); err != nil { log.Printf("Failed to close file: %s", err) } }() - fi, err = f.Stat() + fi, err = fIndex.Stat() if err != nil || fi.IsDir() { return true } @@ -179,7 +181,7 @@ func staticHandler(ctx *macaron.Context, log *log.Logger, opt StaticOptions) boo opt.AddHeaders(ctx) } - http.ServeContent(ctx.Resp, ctx.Req.Request, file, fi.ModTime(), f) + http.ServeContent(ctx.Resp, ctx.Req.Request, file, fi.ModTime(), fResponse) return true }