aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-reduce/llvm-reduce.cpp
diff options
context:
space:
mode:
authorLangston Barrett <langston.barrett@gmail.com>2021-05-25 09:56:28 -0700
committerArthur Eubanks <aeubanks@google.com>2021-05-25 10:01:12 -0700
commit472c009139eaf5c516395e669b1a70b118a514f8 (patch)
treeafee2bd2526dcf2d5cf6058c2b82a09f691939eb /llvm/tools/llvm-reduce/llvm-reduce.cpp
parenta47b2d4567ac27eee8d355c079535a796639a041 (diff)
downloadllvm-472c009139eaf5c516395e669b1a70b118a514f8.zip
llvm-472c009139eaf5c516395e669b1a70b118a514f8.tar.gz
llvm-472c009139eaf5c516395e669b1a70b118a514f8.tar.bz2
[llvm-reduce] Exit when input module is malformed
The parseInputFile function returns an empty unique_ptr to signal an error, like when the input file doesn't exist, or is malformed. In this case, the tool should exit immediately rather than segfault by dereferencing the unique_ptr later. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D102891
Diffstat (limited to 'llvm/tools/llvm-reduce/llvm-reduce.cpp')
-rw-r--r--llvm/tools/llvm-reduce/llvm-reduce.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/tools/llvm-reduce/llvm-reduce.cpp b/llvm/tools/llvm-reduce/llvm-reduce.cpp
index 5a00ef0..614ca45 100644
--- a/llvm/tools/llvm-reduce/llvm-reduce.cpp
+++ b/llvm/tools/llvm-reduce/llvm-reduce.cpp
@@ -116,6 +116,10 @@ int main(int Argc, char **Argv) {
std::unique_ptr<Module> OriginalProgram =
parseInputFile(InputFilename, Context);
+ if (!OriginalProgram) {
+ return 1;
+ }
+
// Initialize test environment
TestRunner Tester(TestFilename, TestArguments);
Tester.setProgram(std::move(OriginalProgram));