Author: scantor
Date: Wed Jun 21 22:48:31 2017
New Revision: 1799528

URL: http://svn.apache.org/viewvc?rev=1799528&view=rev
Log:
Port XERCESC-2070 from 3.1 branch.

Modified:
    xerces/c/trunk/   (props changed)
    xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp

Propchange: xerces/c/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jun 21 22:48:31 2017
@@ -1 +1 @@
-/xerces/c/branches/xerces-3.1:1662879,1662887,1662893-1662894,1663359,1663377,1726088,1747618-1747619
+/xerces/c/branches/xerces-3.1:1662879,1662887,1662893-1662894,1663359,1663377,1726088,1747618-1747620

Modified: xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp?rev=1799528&r1=1799527&r2=1799528&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp Wed Jun 21 22:48:31 2017
@@ -1270,8 +1270,15 @@ void XMLScanner::scanProlog()
                     if (sawDocTypeDecl) {
                         emitError(XMLErrs::DuplicateDocTypeDecl);
                     }
-                    scanDocTypeDecl();
-                    sawDocTypeDecl = true;
+
+                    const char* envvar = getenv("XERCES_DISABLE_DTD");
+                    if (envvar && !strcmp(envvar, "1")) {
+                       emitError(XMLErrs::InvalidDocumentStructure);
+                    }
+                    else {
+                       scanDocTypeDecl();
+                       sawDocTypeDecl = true;
+                    }
 
                     // if reusing grammar, this has been validated already in 
first scan
                     // skip for performance



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to