diff options
| author | Ian Lance Taylor <iant@golang.org> | 2022-08-22 17:42:54 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-08-23 20:32:50 +0000 |
| commit | fc0d423789e3a2e1f84801be14ac657d41c115e4 (patch) | |
| tree | 8fc5a8163d7d6834552d9e83c541967de6b9eece /src/debug | |
| parent | b72521ee505f5f71002d6e9114d32075c2a3b847 (diff) | |
| download | go-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')
| -rw-r--r-- | src/debug/plan9obj/file.go | 3 |
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:] |
