## This test ensures that LLVM will not crash when converting a Mach-O object ## file with a malformed symbol whose n_sect points to an invalid offset. # RUN: yaml2obj %s -o %t # RUN: not llvm-gsymutil --convert %t -o %t.o 2>&1 | FileCheck %s # CHECK: Loaded 0 functions from symbol table. --- !mach-o FileHeader: magic: 0xFEEDFACF cputype: 0x01000007 cpusubtype: 0x00000003 filetype: 0x0000000A ncmds: 1 sizeofcmds: 100 flags: 0x00000000 reserved: 0x00000000 LoadCommands: - cmd: LC_SYMTAB cmdsize: 24 symoff: 4096 nsyms: 1 stroff: 4144 strsize: 6 LinkEditData: NameList: - n_strx: 2 # _foo n_type: 0x0e n_sect: 3 # Points to an invalid offset. n_desc: 0 n_value: 1234 StringTable: - '' - '' - _foo