diff options
Diffstat (limited to 'llvm')
| -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;  | 

