summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/WindowsManifest/WindowsManifestMerger.cpp4
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;
OpenPOWER on IntegriCloud