diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/WindowsManifest/WindowsManifestMerger.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/WindowsManifest/WindowsManifestMerger.cpp b/llvm/lib/WindowsManifest/WindowsManifestMerger.cpp index 91547c98469..da968c4ae1a 100644 --- a/llvm/lib/WindowsManifest/WindowsManifestMerger.cpp +++ b/llvm/lib/WindowsManifest/WindowsManifestMerger.cpp @@ -652,11 +652,13 @@ WindowsManifestMerger::WindowsManifestMergerImpl::getMergedManifest() { xmlNodePtr CombinedRoot = xmlDocGetRootElement(CombinedDoc); std::vector<xmlNsPtr> RequiredPrefixes; checkAndStripPrefixes(CombinedRoot, RequiredPrefixes); - std::unique_ptr<xmlDoc> OutputDoc(xmlNewDoc((const unsigned char *)"1.0")); + std::unique_ptr<xmlDoc, decltype(&xmlFreeDoc)> OutputDoc( + xmlNewDoc((const unsigned char *)"1.0"), &xmlFreeDoc); xmlDocSetRootElement(OutputDoc.get(), CombinedRoot); xmlKeepBlanksDefault(0); xmlDocDumpFormatMemoryEnc(OutputDoc.get(), &XmlBuff, &BufferSize, "UTF-8", 1); + xmlDocSetRootElement(OutputDoc.get(), nullptr); } if (BufferSize == 0) return nullptr; |

