From 03ca047dd334f6018f06f7fc9a7a4e2608b1f8d3 Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Sat, 12 Nov 2016 17:57:35 +1100 Subject: [PATCH] debug/pe: do not create symbol table if FileHeader.PointerToSymbolTable is 0 https://github.com/tpn/pdfs/raw/master/Microsoft Portable Executable and Common Object File Format Specification - 1999 (pecoff).doc says this about PointerToSymbolTable: File offset of the COFF symbol table or 0 if none is present. Do as it says. Fixes #17809. Change-Id: Ib1ad83532f36a3e56c7e058dc9b2acfbf60c4e72 Reviewed-on: https://go-review.googlesource.com/33170 Reviewed-by: Ian Lance Taylor Run-TryBot: Alex Brainman TryBot-Result: Gobot Gobot --- src/debug/pe/symbol.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/debug/pe/symbol.go b/src/debug/pe/symbol.go index b7d5d09bcf..7fa5948641 100644 --- a/src/debug/pe/symbol.go +++ b/src/debug/pe/symbol.go @@ -23,6 +23,9 @@ type COFFSymbol struct { } func readCOFFSymbols(fh *FileHeader, r io.ReadSeeker) ([]COFFSymbol, error) { + if fh.PointerToSymbolTable == 0 { + return nil, nil + } if fh.NumberOfSymbols <= 0 { return nil, nil } -- 2.50.0