diff options
author | Langston Barrett <langston.barrett@gmail.com> | 2021-05-25 09:56:28 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2021-05-25 10:01:12 -0700 |
commit | 472c009139eaf5c516395e669b1a70b118a514f8 (patch) | |
tree | afee2bd2526dcf2d5cf6058c2b82a09f691939eb /llvm/tools/llvm-reduce/llvm-reduce.cpp | |
parent | a47b2d4567ac27eee8d355c079535a796639a041 (diff) | |
download | llvm-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.cpp | 4 |
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)); |