From 119da6358bf8cc01bb8bc7556d616bd0fe723ad4 Mon Sep 17 00:00:00 2001 From: Jorropo Date: Thu, 5 May 2022 23:31:20 +0000 Subject: [PATCH] debug/buildinfo: avoid nil defererence for invalid XCOFF I've made it return 0 following what the other DataStart implementation do when they do not found the section. Fixes #52718 Change-Id: I44292fed15bb21b9aba712ad15ed74e0ce231b5a GitHub-Last-Rev: 081a35ebec9b94c0fa6a1347806d84111e58210a GitHub-Pull-Request: golang/go#52722 Reviewed-on: https://go-review.googlesource.com/c/go/+/404254 TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Reviewed-by: David Chase --- src/debug/buildinfo/buildinfo.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/debug/buildinfo/buildinfo.go b/src/debug/buildinfo/buildinfo.go index 8de03ff1063ff..d1f4892751961 100644 --- a/src/debug/buildinfo/buildinfo.go +++ b/src/debug/buildinfo/buildinfo.go @@ -393,5 +393,8 @@ func (x *xcoffExe) ReadData(addr, size uint64) ([]byte, error) { } func (x *xcoffExe) DataStart() uint64 { - return x.f.SectionByType(xcoff.STYP_DATA).VirtualAddress + if s := x.f.SectionByType(xcoff.STYP_DATA); s != nil { + return s.VirtualAddress + } + return 0 }