diff options
| author | Keith Randall <khr@golang.org> | 2015-09-01 12:53:15 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2015-09-15 17:51:23 +0000 |
| commit | 731bdc51157fd7f685fb73c298e97922318ac453 (patch) | |
| tree | 68a0f0718ef3c2dda68c2fe7b615978c1284493f /src/debug/dwarf/testdata/split.elf | |
| parent | 3d5bed272624fede0e5249f9e7a13ee779e2ba17 (diff) | |
| download | go-731bdc51157fd7f685fb73c298e97922318ac453.tar.xz | |
runtime: fix aeshash of empty string
Aeshash currently computes the hash of the empty string as
hash("", seed) = seed. This is bad because the hash of a compound
object with empty strings in it doesn't include information about
where those empty strings were. For instance [2]string{"", "foo"}
and [2]string{"foo", ""} might get the same hash.
Fix this by returning a scrambled seed instead of the seed itself.
With this fix, we can remove the scrambling done by the generated
array hash routines.
The test also rejects hash("", seed) = 0, if we ever thought
it would be a good idea to try that.
The fallback hash is already OK in this regard.
Change-Id: Iaedbaa5be8d6a246dc7e9383d795000e0f562037
Reviewed-on: https://go-review.googlesource.com/14129
Reviewed-by: jcd . <jcd@golang.org>
Diffstat (limited to 'src/debug/dwarf/testdata/split.elf')
0 files changed, 0 insertions, 0 deletions
