vulncheck/internal/gosym: fix bug on 32-bit systems
I was multiplying an offset by 8, instead of the size of a pointer.
Fixes golang/go#52218.
Change-Id: I396c833e52a96aff34b89e4e53053d15b4a0d1cd
Reviewed-on: https://go-review.googlesource.com/c/vuln/+/398757
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/vulncheck/internal/gosym/pclntab.go b/vulncheck/internal/gosym/pclntab.go
index f0d3484..1451c58 100644
--- a/vulncheck/internal/gosym/pclntab.go
+++ b/vulncheck/internal/gosym/pclntab.go
@@ -579,7 +579,7 @@
} else {
off = f.fieldOffset(10) + // skip fixed part of _func
f.npcdata()*4
- off += uint32(i) * 8
+ off += uint32(i) * f.t.ptrsize
}
return f.t.binary.Uint32(f.data[off:])
}