From: Keith Randall Date: Tue, 3 Sep 2019 17:27:48 +0000 (-0700) Subject: bytes/hash: disable seed test on 32-bit platforms X-Git-Tag: go1.14beta1~1210 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=7c90e2cbda677a1a9993403df192f31fb011a112;p=gostls13.git bytes/hash: disable seed test on 32-bit platforms The distribution of hash outputs when varying the seed is not good enough on 32-bit platforms. This isn't a likely attack vector (the adversary controlling the seed), so it isn't a huge deal. Would be nice to fix, though. For now, just skip this test. Fixes #33988 Change-Id: Icf51ab687fc215422a5492ae78e6f414b33e04cb Reviewed-on: https://go-review.googlesource.com/c/go/+/193078 Run-TryBot: Keith Randall TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/bytes/hash/smhasher_test.go b/src/bytes/hash/smhasher_test.go index 1b7b44db09..f5169ffa27 100644 --- a/src/bytes/hash/smhasher_test.go +++ b/src/bytes/hash/smhasher_test.go @@ -12,6 +12,7 @@ import ( "runtime" "strings" "testing" + "unsafe" ) // Smhasher is a torture test for hash functions. @@ -450,6 +451,9 @@ func text(t *testing.T, prefix, suffix string) { // Make sure different seed values generate different hashes. func TestSmhasherSeed(t *testing.T) { + if unsafe.Sizeof(uintptr(0)) == 4 { + t.Skip("32-bit platforms don't have ideal seed-input distributions (see issue 33988)") + } h := newHashSet() const N = 100000 s := "hello"