]> granicus.if.org Git - llvm/commit
Check special-case-list regex before insertion.
authorMitch Phillips <mitchphillips@outlook.com>
Tue, 24 Oct 2017 23:56:12 +0000 (23:56 +0000)
committerMitch Phillips <mitchphillips@outlook.com>
Tue, 24 Oct 2017 23:56:12 +0000 (23:56 +0000)
commit52a43b285cd860f1f3e1f4eb11467bc615f68779
tree28e0214e23c1f6968a30555f65a8414c1c2d596d
parent4a39ef301ec40e4ee6182868df37ee2b379ad289
Check special-case-list regex before insertion.

Summary:
Checks that the supplied regex to SpecialCaseList::Matcher::insert(..) is non-empty.

Reported by OSS-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3688

Verified that this fixes the provided assertion failure (built with {asan, fuzzer}):
```
mitchp@mitchp2:~/llvm-build/git-fuzz$ ninja llvm-special-case-list-fuzzer[12/12] Linking CXX executable bin/llvm-special-case-list-fuzzer
mitchp@mitchp2:~/llvm-build/git-fuzz$ bin/llvm-special-case-list-fuzzer ~/Downloads/clusterfuzz-testcase-6748633157337088
INFO: Seed: 1697404507
INFO: Loaded 1 modules   (18581 inline 8-bit counters): 18581 [0x9e9f60, 0x9ee7f5),
INFO: Loaded 1 PC tables (18581 PCs): 18581 [0x9ee7f8,0xa37148),
bin/llvm-special-case-list-fuzzer: Running 1 inputs 1 time(s) each.
Running: /usr/local/google/home/mitchp/Downloads/clusterfuzz-testcase-6748633157337088
Executed /usr/local/google/home/mitchp/Downloads/clusterfuzz-testcase-6748633157337088 in 0 ms
***
*** NOTE: fuzzing was not performed, you have only
***       executed the target code on a fixed set of inputs.
***
mitchp@mitchp2:~/llvm-build/git-fuzz$

```

Reviewers: kcc, vsk

Reviewed By: vsk

Subscribers: vsk, llvm-commits, vlad.tsyrklevich

Differential Revision: https://reviews.llvm.org/D39212

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316537 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Support/SpecialCaseList.cpp
unittests/Support/SpecialCaseListTest.cpp