From: Alex Brainman Date: Sat, 12 Nov 2016 06:57:35 +0000 (+1100) Subject: debug/pe: do not create symbol table if FileHeader.PointerToSymbolTable is 0 X-Git-Tag: go1.8beta1~120 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=03ca047dd334f6018f06f7fc9a7a4e2608b1f8d3;p=gostls13.git 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 --- 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 }