Browse Source

lazy init of authenticator

Darien Raymond 8 years ago
parent
commit
3aa5102036
1 changed files with 1 additions and 2 deletions
  1. 1 2
      proxy/shadowsocks/protocol.go

+ 1 - 2
proxy/shadowsocks/protocol.go

@@ -299,7 +299,6 @@ func DecodeUDPPacket(user *protocol.User, payload *buf.Buffer) (*protocol.Reques
 	account := rawAccount.(*MemoryAccount)
 
 	var iv []byte
-	var authenticator *Authenticator
 	if !account.Cipher.IsAEAD() && account.Cipher.IVSize() > 0 {
 		// Keep track of IV as it gets removed from payload in DecodePacket.
 		iv = make([]byte, account.Cipher.IVSize())
@@ -333,7 +332,7 @@ func DecodeUDPPacket(user *protocol.User, payload *buf.Buffer) (*protocol.Reques
 			payloadLen := payload.Len() - AuthSize
 			authBytes := payload.BytesFrom(payloadLen)
 
-			authenticator = NewAuthenticator(HeaderKeyGenerator(account.Key, iv))
+			authenticator := NewAuthenticator(HeaderKeyGenerator(account.Key, iv))
 			actualAuth := make([]byte, AuthSize)
 			authenticator.Authenticate(payload.BytesTo(payloadLen))(actualAuth)
 			if !bytes.Equal(actualAuth, authBytes) {