From 6056cc66387f19f89babd658a5fe273722d46d3c Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Tue, 17 Jan 2017 10:22:18 +0100 Subject: [PATCH] handle nil error --- proxy/socks/protocol.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/proxy/socks/protocol.go b/proxy/socks/protocol.go index 594c5ccf4..298741d55 100644 --- a/proxy/socks/protocol.go +++ b/proxy/socks/protocol.go @@ -105,9 +105,13 @@ func (s *ServerSession) Handshake(reader io.Reader, writer io.Writer) (*protocol if expectedAuth == authPassword { username, password, err := readUsernamePassword(reader) - if err != nil || !s.config.HasAccount(username, password) { + if err != nil { + return nil, errors.Base(err).Message("Socks|Server: Failed to read username and password for authentication.") + } + + if !s.config.HasAccount(username, password) { writeSocks5AuthenticationResponse(writer, 0xFF) - return nil, errors.Base(err).Message("Socks|Server: Invalid username or password.") + return nil, errors.New("Socks|Server: Invalid username or password.") } if err := writeSocks5AuthenticationResponse(writer, 0x00); err != nil {