summaryrefslogtreecommitdiff
path: root/libxerces-c/xercesc/dtd-decl-use-after-free.patch
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-02-25 11:08:35 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-02-25 11:08:35 +0300
commit08015a5208b1eb8273bf4ca9dd8779188fdb8a82 (patch)
tree6e7a8dd97dbf55bf7b0e1773fc60d08fb2578e8b /libxerces-c/xercesc/dtd-decl-use-after-free.patch
parentd31a6b344973db0c96e77b923753d8b1fa8d7767 (diff)
Release version 3.2.3+2v3.2.3+2
Use caret version constraint for depends manifest values Add config.libxerces_c.network project configuration variable Fix use-after-free error (CVE-2018-1311) Add symlink attribute for symbolic links that refer to upstream subdirectories Fix MinGW GCC's 'redeclared without dllimport attribute' warnings
Diffstat (limited to 'libxerces-c/xercesc/dtd-decl-use-after-free.patch')
-rw-r--r--libxerces-c/xercesc/dtd-decl-use-after-free.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/libxerces-c/xercesc/dtd-decl-use-after-free.patch b/libxerces-c/xercesc/dtd-decl-use-after-free.patch
new file mode 100644
index 0000000..4a48a96
--- /dev/null
+++ b/libxerces-c/xercesc/dtd-decl-use-after-free.patch
@@ -0,0 +1,20 @@
+diff --git a/libxerces-c/xercesc/internal/IGXMLScanner.cpp b/libxerces-c/xercesc/internal/IGXMLScanner.cpp
+index 0062400..aa344be 100644
+--- a/libxerces-c/xercesc/internal/IGXMLScanner.cpp
++++ b/libxerces-c/xercesc/internal/IGXMLScanner.cpp
+@@ -1532,7 +1532,6 @@ void IGXMLScanner::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);
+@@ -3095,7 +3094,6 @@ Grammar* IGXMLScanner::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);