diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2023-12-05 14:48:57 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2023-12-05 14:48:57 +0300 |
commit | 912b61c44270cfa540eccf40fcc3208581b55439 (patch) | |
tree | 7244a23cd49a58684ce6d3a51283171393402057 /libxerces-c/xercesc/internal/DGXMLScanner.cpp | |
parent | 6af6f698437f9538f8d94d22ca9cba350d5e8d71 (diff) |
Fix CVE-2018-1311CVE-2018-1311-fix
Diffstat (limited to 'libxerces-c/xercesc/internal/DGXMLScanner.cpp')
-rw-r--r-- | libxerces-c/xercesc/internal/DGXMLScanner.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libxerces-c/xercesc/internal/DGXMLScanner.cpp b/libxerces-c/xercesc/internal/DGXMLScanner.cpp index 4334223..895dfeb 100644 --- a/libxerces-c/xercesc/internal/DGXMLScanner.cpp +++ b/libxerces-c/xercesc/internal/DGXMLScanner.cpp @@ -1052,13 +1052,12 @@ void DGXMLScanner::scanDocTypeDecl() DTDEntityDecl* declDTD = new (fMemoryManager) DTDEntityDecl(gDTDStr, false, fMemoryManager); declDTD->setSystemId(sysId); declDTD->setIsExternal(true); - Janitor<DTDEntityDecl> janDecl(declDTD); // Mark this one as a throw at end reader->setThrowAtEnd(true); // And push it onto the stack, with its pseudo name - fReaderMgr.pushReader(reader, declDTD); + fReaderMgr.pushReaderAdoptEntity(reader, declDTD); // Tell it its not in an include section dtdScanner.scanExtSubsetDecl(false, true); @@ -2131,13 +2130,12 @@ Grammar* DGXMLScanner::loadDTDGrammar(const InputSource& src, DTDEntityDecl* declDTD = new (fMemoryManager) DTDEntityDecl(gDTDStr, false, fMemoryManager); declDTD->setSystemId(src.getSystemId()); declDTD->setIsExternal(true); - Janitor<DTDEntityDecl> janDecl(declDTD); // Mark this one as a throw at end newReader->setThrowAtEnd(true); // And push it onto the stack, with its pseudo name - fReaderMgr.pushReader(newReader, declDTD); + fReaderMgr.pushReaderAdoptEntity(newReader, declDTD); // If we have a doc type handler and advanced callbacks are enabled, // call the doctype event. |