diff options
| author | Kevin Enderby <enderby@apple.com> | 2016-10-17 22:09:25 +0000 |
|---|---|---|
| committer | Kevin Enderby <enderby@apple.com> | 2016-10-17 22:09:25 +0000 |
| commit | 2490de06f78f6c93b2963c99b819a8b7933a9c83 (patch) | |
| tree | 61cb71e5c28fb28e8b911711912b3084a3af95d9 /llvm/test/Object | |
| parent | b406388e5fa92ccfd792fbabe42411d28f5ce48a (diff) | |
| download | bcm5719-llvm-2490de06f78f6c93b2963c99b819a8b7933a9c83.tar.gz bcm5719-llvm-2490de06f78f6c93b2963c99b819a8b7933a9c83.zip | |
Next set of additional error checks for invalid Mach-O files for the
load commands that use the MachO::sub_framework_command,
MachO::sub_umbrella_command, MachO::sub_library_command
and MachO::sub_client_command types but are not used in llvm
libObject code but used in llvm tool code.
This includes the LC_SUB_FRAMEWORK, LC_SUB_UMBRELLA,
LC_SUB_LIBRARY and LC_SUB_CLIENT load commands.
llvm-svn: 284431
Diffstat (limited to 'llvm/test/Object')
| -rw-r--r-- | llvm/test/Object/Inputs/macho-invalid-subclient-name_toobig | bin | 0 -> 44 bytes | |||
| -rw-r--r-- | llvm/test/Object/Inputs/macho-invalid-subframe-small | bin | 0 -> 44 bytes | |||
| -rw-r--r-- | llvm/test/Object/Inputs/macho-invalid-sublibrary-name_offset-toobig | bin | 0 -> 40 bytes | |||
| -rw-r--r-- | llvm/test/Object/Inputs/macho-invalid-subumbrella-offset-small | bin | 0 -> 40 bytes | |||
| -rw-r--r-- | llvm/test/Object/macho-invalid.test | 12 |
5 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/Object/Inputs/macho-invalid-subclient-name_toobig b/llvm/test/Object/Inputs/macho-invalid-subclient-name_toobig Binary files differnew file mode 100644 index 00000000000..d0a8ee9eb82 --- /dev/null +++ b/llvm/test/Object/Inputs/macho-invalid-subclient-name_toobig diff --git a/llvm/test/Object/Inputs/macho-invalid-subframe-small b/llvm/test/Object/Inputs/macho-invalid-subframe-small Binary files differnew file mode 100644 index 00000000000..73497f16034 --- /dev/null +++ b/llvm/test/Object/Inputs/macho-invalid-subframe-small diff --git a/llvm/test/Object/Inputs/macho-invalid-sublibrary-name_offset-toobig b/llvm/test/Object/Inputs/macho-invalid-sublibrary-name_offset-toobig Binary files differnew file mode 100644 index 00000000000..95522e60e50 --- /dev/null +++ b/llvm/test/Object/Inputs/macho-invalid-sublibrary-name_offset-toobig diff --git a/llvm/test/Object/Inputs/macho-invalid-subumbrella-offset-small b/llvm/test/Object/Inputs/macho-invalid-subumbrella-offset-small Binary files differnew file mode 100644 index 00000000000..ac022c77cdd --- /dev/null +++ b/llvm/test/Object/Inputs/macho-invalid-subumbrella-offset-small diff --git a/llvm/test/Object/macho-invalid.test b/llvm/test/Object/macho-invalid.test index 31948d8505e..d9af43933ab 100644 --- a/llvm/test/Object/macho-invalid.test +++ b/llvm/test/Object/macho-invalid.test @@ -355,3 +355,15 @@ INVALID-LINKOPT-BAD-SIZE: macho-invalid-linkopt-bad-size': truncated or malforme RUN: not llvm-objdump -macho -private-headers %p/Inputs/macho-invalid-linkopt-bad-count 2>&1 | FileCheck -check-prefix INVALID-LINKOPT-BAD-COUNT %s INVALID-LINKOPT-BAD-COUNT: macho-invalid-linkopt-bad-count': truncated or malformed object (load command 0 LC_LINKER_OPTION string count 3 does not match number of strings) + +RUN: not llvm-objdump -macho -private-headers %p/Inputs/macho-invalid-subframe-small 2>&1 | FileCheck -check-prefix INVALID-SUBFRAME-SMALL %s +INVALID-SUBFRAME-SMALL: macho-invalid-subframe-small': truncated or malformed object (load command 0 LC_SUB_FRAMEWORK cmdsize too small) + +RUN: not llvm-objdump -macho -private-headers %p/Inputs/macho-invalid-subumbrella-offset-small 2>&1 | FileCheck -check-prefix INVALID-SUBUMBRELLA-OFFSET-SMALL %s +INVALID-SUBUMBRELLA-OFFSET-SMALL: macho-invalid-subumbrella-offset-small': truncated or malformed object (load command 0 LC_SUB_UMBRELLA sub_umbrella.offset field too small, not past the end of the sub_umbrella_command) + +RUN: not llvm-objdump -macho -private-headers %p/Inputs/macho-invalid-sublibrary-name_offset-toobig 2>&1 | FileCheck -check-prefix INVALID-SUBLIB-NAME_OFFSET-TOOBIG %s +INVALID-SUBLIB-NAME_OFFSET-TOOBIG: macho-invalid-sublibrary-name_offset-toobig': truncated or malformed object (load command 0 LC_SUB_LIBRARY sub_library.offset field extends past the end of the load command) + +RUN: not llvm-objdump -macho -private-headers %p/Inputs/macho-invalid-subclient-name_toobig 2>&1 | FileCheck -check-prefix INVALID-SUBCLIENT-NAME-TOOBIG %s +INVALID-SUBCLIENT-NAME-TOOBIG: macho-invalid-subclient-name_toobig': truncated or malformed object (load command 0 LC_SUB_CLIENT client name extends past the end of the load command) |

