From eccdd1285ab9ae1cb35bf3b90d777d304263f478 Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Tue, 19 Feb 2013 19:16:34 +0800 Subject: [PATCH] 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 --- bcrypt/bcrypt.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 @@ func expensiveBlowfishSetup(key []byte, cost uint32, salt []byte) (*blowfish.Cip 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) }