From 2fda84b4f0dff5ac66fdfa691425a6c7036afa66 Mon Sep 17 00:00:00 2001 From: EKR Date: Wed, 11 Jan 2017 13:46:27 -0800 Subject: [PATCH] crypto/tls: fix clientHelloMsg fuzzer not to generate the RI SCSV It was causing mysterious fuzzing failure because it affects the unmarshaling of the secureNegotiationSupported field. Change-Id: Id396b84eab90a3b22fb6e306b10bdd7e39707012 Reviewed-on: https://go-review.googlesource.com/60912 Run-TryBot: Filippo Valsorda TryBot-Result: Gobot Gobot Reviewed-by: Adam Langley --- handshake_messages_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/handshake_messages_test.go b/handshake_messages_test.go index 7add97c..49c13ee 100644 --- a/handshake_messages_test.go +++ b/handshake_messages_test.go @@ -116,7 +116,11 @@ func (*clientHelloMsg) Generate(rand *rand.Rand, size int) reflect.Value { m.sessionId = randomBytes(rand.Intn(32), rand) m.cipherSuites = make([]uint16, rand.Intn(63)+1) for i := 0; i < len(m.cipherSuites); i++ { - m.cipherSuites[i] = uint16(rand.Int31()) + cs := uint16(rand.Int31()) + if cs == scsvRenegotiation { + cs += 1 + } + m.cipherSuites[i] = cs } m.compressionMethods = randomBytes(rand.Intn(63)+1, rand) if rand.Intn(10) > 5 {