]> Cypherpunks repositories - gostls13.git/commitdiff
debug/pe: do not create symbol table if FileHeader.PointerToSymbolTable is 0
authorAlex Brainman <alex.brainman@gmail.com>
Sat, 12 Nov 2016 06:57:35 +0000 (17:57 +1100)
committerAlex Brainman <alex.brainman@gmail.com>
Thu, 17 Nov 2016 07:55:06 +0000 (07:55 +0000)
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 <iant@golang.org>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/debug/pe/symbol.go

index b7d5d09bcf0615c6deb1b34a95604361de0cc289..7fa5948641f8476279486fe1067098516c0a3ec7 100644 (file)
@@ -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
        }