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