Browse Source

[TextAPI] Fix a memory leak in the TBD reader.

This fixes an issue where we were leaking the YAML document if there was a
parsing error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347837 91177308-0d34-0410-b5e6-96231b3b80d8
Juergen Ributzka 6 years ago
parent
commit
c279e891e9
1 changed files with 4 additions and 2 deletions
  1. 4 2
      lib/TextAPI/MachO/TextStub.cpp

+ 4 - 2
lib/TextAPI/MachO/TextStub.cpp

@@ -634,11 +634,13 @@ TextAPIReader::get(std::unique_ptr<MemoryBuffer> InputBuffer) {
   std::vector<const InterfaceFile *> Files;
   YAMLIn >> Files;
 
+  auto File = std::unique_ptr<InterfaceFile>(
+      const_cast<InterfaceFile *>(Files.front()));
+
   if (YAMLIn.error())
     return make_error<StringError>(Ctx.ErrorMessage, YAMLIn.error());
 
-  auto *File = const_cast<InterfaceFile *>(Files.front());
-  return std::unique_ptr<InterfaceFile>(File);
+  return File;
 }
 
 Error TextAPIWriter::writeToStream(raw_ostream &OS, const InterfaceFile &File) {