diff --git a/reader.go b/reader.go index a0e7b76..593c605 100644 --- a/reader.go +++ b/reader.go @@ -186,14 +186,14 @@ func (rd *Reader) Next() (*Header, error) { return nil, err } case BSD: + if err := rd.parseBSDFileName(header); err != nil { + return nil, err + } // The special file name "__.SYMDEF" (and variations of it) indicates that the data section contains a symbol table. if header.Name == "__.SYMDEF" || header.Name == "__.SYMDEF SORTED" || header.Name == "__.SYMDEF_64" { // The symbol table should be invisible to the caller - skip over it. return rd.Next() } - if err := rd.parseBSDFileName(header); err != nil { - return nil, err - } } // The file name has now been resolved; make sure it doesn't contain any illegal characters.