From 9e13a8876fb531861cbb8e865e57431de9818c16 Mon Sep 17 00:00:00 2001 From: Alessandro Arzilli Date: Mon, 15 Nov 2021 09:42:28 +0100 Subject: [PATCH] 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 --- src/debug/dwarf/entry.go | 1 + 1 file changed, 1 insertion(+) 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) } -- 2.48.1