aboutsummaryrefslogtreecommitdiff
path: root/src/debug/plan9obj
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2022-08-22 17:42:54 -0700
committerGopher Robot <gobot@golang.org>2022-08-23 20:32:50 +0000
commitfc0d423789e3a2e1f84801be14ac657d41c115e4 (patch)
tree8fc5a8163d7d6834552d9e83c541967de6b9eece /src/debug/plan9obj
parentb72521ee505f5f71002d6e9114d32075c2a3b847 (diff)
downloadgo-fc0d423789e3a2e1f84801be14ac657d41c115e4.tar.xz
debug/plan9obj: don't crash on EOF before symbol type
No debug/plan9obj test case because the problem can only happen for invalid data. Let the fuzzer find cases like this. For #47653 Fixes #54585 Change-Id: I8d3e15725b9bc09dd0e6f2750769987021f5e982 Reviewed-on: https://go-review.googlesource.com/c/go/+/425115 Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
Diffstat (limited to 'src/debug/plan9obj')
-rw-r--r--src/debug/plan9obj/file.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/debug/plan9obj/file.go b/src/debug/plan9obj/file.go
index aa25809148..2b83f9bdff 100644
--- a/src/debug/plan9obj/file.go
+++ b/src/debug/plan9obj/file.go
@@ -212,6 +212,9 @@ func walksymtab(data []byte, ptrsz int, fn func(sym) error) error {
p = p[4:]
}
+ if len(p) < 1 {
+ return &formatError{len(data), "unexpected EOF", nil}
+ }
typ := p[0] & 0x7F
s.typ = typ
p = p[1:]