aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2018-01-11 19:58:55 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2018-01-11 19:58:55 +0000
commitfbea3c33e89371ae2ee633d645eaabdc4d9e7020 (patch)
treed05fcc4b41049751e0fc32fc5ec9d873f6c67497 /libgo
parentc5269263b072de87f9b4476ef87499e7408f7cd6 (diff)
downloadgcc-fbea3c33e89371ae2ee633d645eaabdc4d9e7020.zip
gcc-fbea3c33e89371ae2ee633d645eaabdc4d9e7020.tar.gz
gcc-fbea3c33e89371ae2ee633d645eaabdc4d9e7020.tar.bz2
re PR go/83794 (misc/cgo/test uses gigabytes of memory)
PR go/83794 misc/cgo/test: avoid endless loop when we can't parse notes Reviewed-on: https://go-review.googlesource.com/87416 From-SVN: r256553
Diffstat (limited to 'libgo')
-rw-r--r--libgo/misc/cgo/test/buildid_linux.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/libgo/misc/cgo/test/buildid_linux.go b/libgo/misc/cgo/test/buildid_linux.go
index 47dd871..84d3edb 100644
--- a/libgo/misc/cgo/test/buildid_linux.go
+++ b/libgo/misc/cgo/test/buildid_linux.go
@@ -27,6 +27,7 @@ func testBuildID(t *testing.T) {
defer f.Close()
c := 0
+sections:
for i, s := range f.Sections {
if s.Type != elf.SHT_NOTE {
continue
@@ -47,7 +48,7 @@ func testBuildID(t *testing.T) {
if len(d) < 12 {
t.Logf("note section %d too short (%d < 12)", i, len(d))
- continue
+ continue sections
}
namesz := f.ByteOrder.Uint32(d)
@@ -59,7 +60,7 @@ func testBuildID(t *testing.T) {
if int(12+an+ad) > len(d) {
t.Logf("note section %d too short for header (%d < 12 + align(%d,4) + align(%d,4))", i, len(d), namesz, descsz)
- continue
+ continue sections
}
// 3 == NT_GNU_BUILD_ID