diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-03-23 13:56:23 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-03-23 13:56:23 +0000 |
commit | e963d660cd1e3f7a4dfb082420aff49b6fc1be0a (patch) | |
tree | 1e85c3be25a8016aef3f9fbf21f11d9121089817 | |
parent | eab1c5f98be3c9eabfb13cc8deec1ac6a008a4c9 (diff) | |
download | bcm5719-llvm-e963d660cd1e3f7a4dfb082420aff49b6fc1be0a.tar.gz bcm5719-llvm-e963d660cd1e3f7a4dfb082420aff49b6fc1be0a.zip |
Plug a memory leak in FileCheck when the input file is empty.
llvm-svn: 177822
-rw-r--r-- | llvm/utils/FileCheck/FileCheck.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/utils/FileCheck/FileCheck.cpp b/llvm/utils/FileCheck/FileCheck.cpp index 563cab0d5dc..b0ef67ac88b 100644 --- a/llvm/utils/FileCheck/FileCheck.cpp +++ b/llvm/utils/FileCheck/FileCheck.cpp @@ -639,11 +639,11 @@ static bool ReadCheckFile(SourceMgr &SM, << ec.message() << '\n'; return true; } - MemoryBuffer *F = File.take(); // If we want to canonicalize whitespace, strip excess whitespace from the // buffer containing the CHECK lines. Remove DOS style line endings. - F = CanonicalizeInputFile(F, NoCanonicalizeWhiteSpace); + MemoryBuffer *F = + CanonicalizeInputFile(File.take(), NoCanonicalizeWhiteSpace); SM.AddNewSourceBuffer(F, SMLoc()); @@ -803,16 +803,16 @@ int main(int argc, char **argv) { << ec.message() << '\n'; return 2; } - MemoryBuffer *F = File.take(); - if (F->getBufferSize() == 0) { + if (File->getBufferSize() == 0) { errs() << "FileCheck error: '" << InputFilename << "' is empty.\n"; return 2; } - + // Remove duplicate spaces in the input file if requested. // Remove DOS style line endings. - F = CanonicalizeInputFile(F, NoCanonicalizeWhiteSpace); + MemoryBuffer *F = + CanonicalizeInputFile(File.take(), NoCanonicalizeWhiteSpace); SM.AddNewSourceBuffer(F, SMLoc()); |