diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2022-10-11 14:23:04 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2022-10-18 16:57:47 +0300 |
commit | 12446ffc4729e1aff5e24628dd485c38e5dc2533 (patch) | |
tree | 520e2e808bc3e0437bd50e36366e417c30bf5447 /libxerces-c/xercesc/internal | |
parent | b7bd714e8bf71bc6f538b0b03964486efcca76dc (diff) |
Upgrade to 3.2.4
Diffstat (limited to 'libxerces-c/xercesc/internal')
-rw-r--r-- | libxerces-c/xercesc/internal/IGXMLScanner.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libxerces-c/xercesc/internal/IGXMLScanner.cpp b/libxerces-c/xercesc/internal/IGXMLScanner.cpp index aa344be..246a46a 100644 --- a/libxerces-c/xercesc/internal/IGXMLScanner.cpp +++ b/libxerces-c/xercesc/internal/IGXMLScanner.cpp @@ -1374,7 +1374,14 @@ void IGXMLScanner::scanDocTypeDecl() // Get copies of the ids we got pubId = XMLString::replicate(bbPubId.getRawBuffer(), fMemoryManager); sysId = XMLString::replicate(bbSysId.getRawBuffer(), fMemoryManager); + } + + // Insure that the ids get cleaned up, if they got allocated + ArrayJanitor<XMLCh> janSysId(sysId, fMemoryManager); + ArrayJanitor<XMLCh> janPubId(pubId, fMemoryManager); + if (hasExtSubset) + { // Skip spaces and check again for the opening of an internal subset fReaderMgr.skipPastSpaces(); @@ -1384,10 +1391,6 @@ void IGXMLScanner::scanDocTypeDecl() } } - // Insure that the ids get cleaned up, if they got allocated - ArrayJanitor<XMLCh> janSysId(sysId, fMemoryManager); - ArrayJanitor<XMLCh> janPubId(pubId, fMemoryManager); - // If we have a doc type handler and advanced callbacks are enabled, // call the doctype event. if (fDocTypeHandler) |