go.crypto/bcrypt: fix interger overflow for cost == 31 Fixes golang/go#4803. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7329043
diff --git a/bcrypt/bcrypt.go b/bcrypt/bcrypt.go index 542cde8..10b8d64 100644 --- a/bcrypt/bcrypt.go +++ b/bcrypt/bcrypt.go
@@ -220,8 +220,9 @@ return nil, err } - rounds := 1 << cost - for i := 0; i < rounds; i++ { + var i, rounds uint64 + rounds = 1 << cost + for i = 0; i < rounds; i++ { blowfish.ExpandKey(ckey, c) blowfish.ExpandKey(csalt, c) }