From f60f97ebcd057f5667754f59234b616cd8d532d0 Mon Sep 17 00:00:00 2001 From: Zxilly Date: Thu, 17 Oct 2024 23:16:28 +0800 Subject: [PATCH] fix: read AttrName safe Closes: #240 Signed-off-by: Zxilly --- internal/knowninfo/dwarf.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/knowninfo/dwarf.go b/internal/knowninfo/dwarf.go index cf35af86b8..d198eef2fe 100644 --- a/internal/knowninfo/dwarf.go +++ b/internal/knowninfo/dwarf.go @@ -54,7 +54,11 @@ func (k *KnownInfo) AddDwarfVariable(entry *dwarf.Entry, d *dwarf.Data, pkg *ent return } - entryName := utils.Deduplicate(entry.Val(dwarf.AttrName).(string)) + entryName, ok := safeGetEntryVal[string](entry, dwarf.AttrName, "variable name") + if !ok { + slog.Debug(fmt.Sprintf("Failed to load DWARF var name: %s", dwarfutil.EntryPrettyPrint(entry))) + return + } symbol := entity.NewSymbol(entryName, uint64(addr), typSize, entity.AddrTypeData)