[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.

llvm-svn: 347837
This commit is contained in:
Juergen Ributzka 2018-11-29 06:16:33 +00:00
parent b7013d690f
commit 44c5491055
1 changed files with 4 additions and 2 deletions

View File

@ -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) {