summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-profdata
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2019-09-03 22:23:14 +0000
committerVedant Kumar <vsk@apple.com>2019-09-03 22:23:14 +0000
commit95fb23ab37e5e348788bb34623ebdc1e583e1ec8 (patch)
treeff6f0bd6c6a2813e32036607cd579ea1bc6c9783 /llvm/test/tools/llvm-profdata
parenta6fcadd0f037df5e5bdc8d44a1769bf4bc9d22cd (diff)
downloadbcm5719-llvm-95fb23ab37e5e348788bb34623ebdc1e583e1ec8.tar.gz
bcm5719-llvm-95fb23ab37e5e348788bb34623ebdc1e583e1ec8.zip
[InstrProf] Tighten a check for malformed data records in raw profiles
The check needs to validate a counter offset before performing pointer arithmetic with the (potentially corrupt) offset. Found by UBSan's pointer overflow check. rdar://54843625 Differential Revision: https://reviews.llvm.org/D66979 llvm-svn: 370826
Diffstat (limited to 'llvm/test/tools/llvm-profdata')
-rw-r--r--llvm/test/tools/llvm-profdata/Inputs/malformed-ptr-to-counter-array.profrawbin0 -> 563560 bytes
-rw-r--r--llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test5
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-profdata/Inputs/malformed-ptr-to-counter-array.profraw b/llvm/test/tools/llvm-profdata/Inputs/malformed-ptr-to-counter-array.profraw
new file mode 100644
index 00000000000..72fddd76fc6
--- /dev/null
+++ b/llvm/test/tools/llvm-profdata/Inputs/malformed-ptr-to-counter-array.profraw
Binary files differ
diff --git a/llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test b/llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
new file mode 100644
index 00000000000..24a68e35fad
--- /dev/null
+++ b/llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
@@ -0,0 +1,5 @@
+REQUIRES: zlib
+
+RUN: not llvm-profdata merge -o /dev/null %p/Inputs/malformed-ptr-to-counter-array.profraw 2>&1 | FileCheck %s
+
+CHECK: Malformed instrumentation profile data
OpenPOWER on IntegriCloud