From: Carl Mastrangelo Date: Mon, 3 Jul 2017 22:38:55 +0000 (-0700) Subject: archive/zip, crypto/tls: use rand.Read instead of casting ints to bytes X-Git-Tag: go1.10beta1~485 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f265f5db5d71f120eb6e2cec25ab6dfc3fb249f3;p=gostls13.git archive/zip, crypto/tls: use rand.Read instead of casting ints to bytes Makes tests run ~1ms faster. Change-Id: Ida509952469540280996d2bd9266724829e53c91 Reviewed-on: https://go-review.googlesource.com/47359 Reviewed-by: Filippo Valsorda Run-TryBot: Filippo Valsorda TryBot-Result: Gobot Gobot --- diff --git a/src/archive/zip/writer_test.go b/src/archive/zip/writer_test.go index 3072f60027..e0bcad61d3 100644 --- a/src/archive/zip/writer_test.go +++ b/src/archive/zip/writer_test.go @@ -58,8 +58,8 @@ var writeTests = []WriteTest{ func TestWriter(t *testing.T) { largeData := make([]byte, 1<<17) - for i := range largeData { - largeData[i] = byte(rand.Int()) + if _, err := rand.Read(largeData); err != nil { + t.Fatal("rand.Read failed:", err) } writeTests[1].Data = largeData defer func() { @@ -201,8 +201,8 @@ func TestWriterUTF8(t *testing.T) { func TestWriterOffset(t *testing.T) { largeData := make([]byte, 1<<17) - for i := range largeData { - largeData[i] = byte(rand.Int()) + if _, err := rand.Read(largeData); err != nil { + t.Fatal("rand.Read failed:", err) } writeTests[1].Data = largeData defer func() { diff --git a/src/crypto/tls/handshake_messages_test.go b/src/crypto/tls/handshake_messages_test.go index aa7f9370bf..37eb748eea 100644 --- a/src/crypto/tls/handshake_messages_test.go +++ b/src/crypto/tls/handshake_messages_test.go @@ -98,8 +98,8 @@ func TestFuzz(t *testing.T) { func randomBytes(n int, rand *rand.Rand) []byte { r := make([]byte, n) - for i := 0; i < n; i++ { - r[i] = byte(rand.Int31()) + if _, err := rand.Read(r); err != nil { + panic("rand.Read failed: " + err.Error()) } return r }