runtime: verify hmap type size
LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, khr
https://golang.org/cl/114510044
diff --git a/src/pkg/runtime/hashmap.go b/src/pkg/runtime/hashmap.go
index e150337..68ad37c 100644
--- a/src/pkg/runtime/hashmap.go
+++ b/src/pkg/runtime/hashmap.go
@@ -153,8 +153,8 @@
}
func makemap(t *maptype, hint int64) *hmap {
- if unsafe.Sizeof(hmap{}) > 48 {
- gothrow("hmap too large")
+ if sz := unsafe.Sizeof(hmap{}); sz > 48 || sz != uintptr(t.hmap.size) {
+ gothrow("bad hmap size")
}
if hint < 0 || int64(int32(hint)) != hint {