From: Alessandro Arzilli Date: Mon, 15 Nov 2021 08:42:28 +0000 (+0100) Subject: debug/dwarf: better error message when reading absent debug_line_str X-Git-Tag: go1.18beta1~309 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9e13a8876fb531861cbb8e865e57431de9818c16;p=gostls13.git debug/dwarf: better error message when reading absent debug_line_str When a DW_FORM_line_strp is used without a debug_line_str section a good error message (about the missing section) is generated but immediately overwritten by the underflow error generated by trying to read the non-existent section. Updates #49590 Change-Id: I1c431392123a86c78c95ef1f185ebd6f17f2476a Reviewed-on: https://go-review.googlesource.com/c/go/+/363894 Run-TryBot: Alessandro Arzilli Trust: David Chase Reviewed-by: Than McIntosh --- diff --git a/src/debug/dwarf/entry.go b/src/debug/dwarf/entry.go index 9f5ac57080..25a3b5beec 100644 --- a/src/debug/dwarf/entry.go +++ b/src/debug/dwarf/entry.go @@ -641,6 +641,7 @@ func (b *buf) entry(cu *Entry, atab abbrevTable, ubase Offset, vers int) *Entry } else { if len(b.dwarf.lineStr) == 0 { b.error("DW_FORM_line_strp with no .debug_line_str section") + return nil } b1 = makeBuf(b.dwarf, b.format, "line_str", 0, b.dwarf.lineStr) }