From 7d7c4539d33bf1e0a49e834254ad20d3b70934b2 Mon Sep 17 00:00:00 2001 From: AllenX2018 Date: Tue, 24 Nov 2020 11:22:07 +0800 Subject: [PATCH] add check of global sessionOn to prevent nil pointer panic: sessionOn of router is set to false while global sessionOn is false --- server/web/router.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/web/router.go b/server/web/router.go index 6ef53b87..46641e15 100644 --- a/server/web/router.go +++ b/server/web/router.go @@ -781,7 +781,11 @@ func (p *ControllerRegister) serveHttp(ctx *beecontext.Context) { currentSessionOn = BConfig.WebConfig.Session.SessionOn originRouterInfo, originFindRouter = p.FindRouter(ctx) if originFindRouter { - currentSessionOn = originRouterInfo.sessionOn + if !currentSessionOn && originRouterInfo.sessionOn { + logs.Warn("global sessionOn is false, sessionOn of router [%s] %s can't be set to true", ctx.Request.Method, ctx.Request.URL.Path) + } else { + currentSessionOn = originRouterInfo.sessionOn + } } if currentSessionOn { ctx.Input.CruSession, err = GlobalSessions.SessionStart(rw, r)