From 783dfbc245ba74bda5cd936d9c9b7417e784ac9e Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Mon, 9 Sep 2019 14:06:48 +0800 Subject: [PATCH] fix: yunionapi nil pointer panic after failed login --- pkg/apigateway/handler/auth.go | 7 ++++--- pkg/appsrv/dispatcher/handlers.go | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/apigateway/handler/auth.go b/pkg/apigateway/handler/auth.go index 4fb8beaa2c..491a049e67 100644 --- a/pkg/apigateway/handler/auth.go +++ b/pkg/apigateway/handler/auth.go @@ -24,7 +24,6 @@ import ( "github.com/pkg/errors" "yunion.io/x/jsonutils" "yunion.io/x/log" - "yunion.io/x/onecloud/pkg/mcclient/modulebase" "yunion.io/x/onecloud/pkg/apigateway/clientman" "yunion.io/x/onecloud/pkg/apigateway/constants" @@ -36,6 +35,7 @@ import ( "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/mcclient/auth" + "yunion.io/x/onecloud/pkg/mcclient/modulebase" "yunion.io/x/onecloud/pkg/mcclient/modules" "yunion.io/x/onecloud/pkg/util/httputils" "yunion.io/x/onecloud/pkg/util/netutils2" @@ -257,12 +257,13 @@ func (h *AuthHandlers) doCredentialLogin(ctx context.Context, req *http.Request, uname, _ := body.GetString("username") if h.preLoginHook != nil { - if err := h.preLoginHook(ctx, req, uname, body); err != nil { + if err = h.preLoginHook(ctx, req, uname, body); err != nil { return nil, err } } - passwd, err := body.GetString("password") + var passwd string + passwd, err = body.GetString("password") if err != nil { return nil, httperrors.NewInputParameterError("get password in body") } diff --git a/pkg/appsrv/dispatcher/handlers.go b/pkg/appsrv/dispatcher/handlers.go index 3a6962e4dd..031c7cf069 100644 --- a/pkg/appsrv/dispatcher/handlers.go +++ b/pkg/appsrv/dispatcher/handlers.go @@ -20,8 +20,8 @@ import ( "yunion.io/x/jsonutils" - "yunion.io/x/onecloud/pkg/mcclient/modulebase" "yunion.io/x/onecloud/pkg/appsrv" + "yunion.io/x/onecloud/pkg/mcclient/modulebase" ) type IMiddlewareFilter interface {