summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode/invalid.test
diff options
context:
space:
mode:
authorFilipe Cabecinhas <me@filcab.net>2015-02-16 00:03:11 +0000
committerFilipe Cabecinhas <me@filcab.net>2015-02-16 00:03:11 +0000
commitecf8f7f49bea56efa30b64dca9a0de936ed6dc53 (patch)
tree0f4edff46def28bc1d6bdc5e765eacba31490436 /llvm/test/Bitcode/invalid.test
parentc4d7bc3fccf6cb9f20e29794245a63e9965a4596 (diff)
downloadbcm5719-llvm-ecf8f7f49bea56efa30b64dca9a0de936ed6dc53.tar.gz
bcm5719-llvm-ecf8f7f49bea56efa30b64dca9a0de936ed6dc53.zip
[Bitcode reader] Fix a few assertions when reading invalid files
Summary: When creating {insert,extract}value instructions from a BitcodeReader, we weren't verifying the fields were valid. Bugs found with afl-fuzz Reviewers: rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7325 llvm-svn: 229345
Diffstat (limited to 'llvm/test/Bitcode/invalid.test')
-rw-r--r--llvm/test/Bitcode/invalid.test21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Bitcode/invalid.test b/llvm/test/Bitcode/invalid.test
index 3eaa0394dba..84bc9278d91 100644
--- a/llvm/test/Bitcode/invalid.test
+++ b/llvm/test/Bitcode/invalid.test
@@ -17,3 +17,24 @@ UNEXPECTED-EOF: Unexpected end of file
BAD-ABBREV-NUMBER: Invalid abbrev number
BAD-TYPE-TABLE-FORWARD-REF: Invalid TYPE table: Only named structs can be forward referenced
BAD-BITWIDTH: Bitwidth for integer type out of range
+
+RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-array-idx.bc 2>&1 | \
+RUN: FileCheck --check-prefix=EXTRACT-ARRAY %s
+RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-struct-idx.bc 2>&1 | \
+RUN: FileCheck --check-prefix=EXTRACT-STRUCT %s
+RUN: not llvm-dis -disable-output %p/Inputs/invalid-extractval-too-many-idxs.bc 2>&1 | \
+RUN: FileCheck --check-prefix=EXTRACT-IDXS %s
+RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-array-idx.bc 2>&1 | \
+RUN: FileCheck --check-prefix=INSERT-ARRAY %s
+RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-struct-idx.bc 2>&1 | \
+RUN: FileCheck --check-prefix=INSERT-STRUCT %s
+RUN: not llvm-dis -disable-output %p/Inputs/invalid-insertval-too-many-idxs.bc 2>&1 | \
+RUN: FileCheck --check-prefix=INSERT-IDXS %s
+
+
+EXTRACT-ARRAY: EXTRACTVAL: Invalid array index
+EXTRACT-STRUCT: EXTRACTVAL: Invalid struct index
+EXTRACT-IDXS: EXTRACTVAL: Invalid type
+INSERT-ARRAY: INSERTVAL: Invalid array index
+INSERT-STRUCT: INSERTVAL: Invalid struct index
+INSERT-IDXS: INSERTVAL: Invalid type
OpenPOWER on IntegriCloud