[Object, MachO] Don't crash on invalid MachO segment load commands.

Summary:
Properly report the error in segment load commands from MachOObjectFile
constructor instead of crashing the program.

Adjust the test case accordingly.

Test Plan: regression test suite

Reviewers: rafael, filcab

Subscribers: llvm-commits
llvm-svn: 239081
This commit is contained in:
Alexey Samsonov
2015-06-04 20:08:52 +00:00
parent de5a94a6b4
commit 074da9b5e7
4 changed files with 23 additions and 13 deletions

View File

@@ -46,6 +46,10 @@ std::string _object_error_category::message(int EV) const {
return "Bitcode section not found in object file";
case object_error::macho_small_load_command:
return "Mach-O load command with size < 8 bytes";
case object_error::macho_load_segment_too_many_sections:
return "Mach-O segment load command contains too many sections";
case object_error::macho_load_segment_too_small:
return "Mach-O segment load command size is too small";
}
llvm_unreachable("An enumerator of object_error does not have a message "
"defined.");