From dfd319d06cc52031491e2b45f151c4e6e34257f6 Mon Sep 17 00:00:00 2001 From: Simon Eisenmann Date: Mon, 5 May 2014 12:24:44 +0200 Subject: [PATCH] Fixed several possible nil pointer access issues. --- src/app/spreed-speakfreely-server/sessions.go | 11 +++++++---- src/app/spreed-speakfreely-server/users.go | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/app/spreed-speakfreely-server/sessions.go b/src/app/spreed-speakfreely-server/sessions.go index 82074ea1..06c7ff90 100644 --- a/src/app/spreed-speakfreely-server/sessions.go +++ b/src/app/spreed-speakfreely-server/sessions.go @@ -83,11 +83,14 @@ func (sessions *Sessions) Patch(request *http.Request) (int, interface{}, http.H error = true } + var userid string // Validate with users handler. - userid, err := sessions.users.handler.Validate(&snr, request) - if err != nil { - error = true - log.Println("Session patch failed - users validation failed.", err) + if sessions.users.handler != nil { + userid, err = sessions.users.handler.Validate(&snr, request) + if err != nil { + error = true + log.Println("Session patch failed - users validation failed.", err) + } } // Make sure that we have a user. diff --git a/src/app/spreed-speakfreely-server/users.go b/src/app/spreed-speakfreely-server/users.go index 1347a183..181def5c 100644 --- a/src/app/spreed-speakfreely-server/users.go +++ b/src/app/spreed-speakfreely-server/users.go @@ -263,7 +263,7 @@ func NewUsers(hub *Hub, mode, realm string, runtime phoenix.Runtime) *Users { var err error // Create handler based on mode. - if handler, err = users.createHandler(mode, runtime); err == nil { + if handler, err = users.createHandler(mode, runtime); handler != nil && err == nil { users.handler = handler // Register handler Get at the hub. users.hub.useridRetriever = func(request *http.Request) (userid string, err error) {