Author: scantor
Date: Mon Mar 2 17:01:52 2015
New Revision: 1663359
URL: http://svn.apache.org/r1663359
Log:
XERCESC-2044 - NPE fixes
Modified:
xerces/c/branches/xerces-3.1/src/xercesc/internal/IGXMLScanner.cpp
xerces/c/branches/xerces-3.1/src/xercesc/internal/XSObjectFactory.cpp
xerces/c/branches/xerces-3.1/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
xerces/c/branches/xerces-3.1/src/xercesc/validators/DTD/DTDScanner.cpp
Modified: xerces/c/branches/xerces-3.1/src/xercesc/internal/IGXMLScanner.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/xerces-3.1/src/xercesc/internal/IGXMLScanner.cpp?rev=1663359&r1=1663358&r2=1663359&view=diff
==============================================================================
--- xerces/c/branches/xerces-3.1/src/xercesc/internal/IGXMLScanner.cpp
(original)
+++ xerces/c/branches/xerces-3.1/src/xercesc/internal/IGXMLScanner.cpp Mon Mar
2 17:01:52 2015
@@ -2398,7 +2398,11 @@ bool IGXMLScanner::scanStartTagNS(bool&
fSchemaElemNonDeclPool->put((void*)elemDecl->getBaseName()
, uriId, (int)Grammar::TOP_LEVEL_SCOPE,
(SchemaElementDecl*)elemDecl)
);
- }
+ } else {
+ fValidator->emitError(
+ XMLValid::GrammarNotFound, getURIText(uriId)
+ );
+ }
wasAdded = true;
}
Modified: xerces/c/branches/xerces-3.1/src/xercesc/internal/XSObjectFactory.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/xerces-3.1/src/xercesc/internal/XSObjectFactory.cpp?rev=1663359&r1=1663358&r2=1663359&view=diff
==============================================================================
--- xerces/c/branches/xerces-3.1/src/xercesc/internal/XSObjectFactory.cpp
(original)
+++ xerces/c/branches/xerces-3.1/src/xercesc/internal/XSObjectFactory.cpp Mon
Mar 2 17:01:52 2015
@@ -919,7 +919,7 @@ void XSObjectFactory::processFacets(Data
facetType = XSSimpleTypeDefinition::FACET_WHITESPACE;
isFixed = ((dvFixedFacets &
DatatypeValidator::FACET_WHITESPACE) != 0);
}
- else if (XMLString::equals(key, SchemaSymbols::fgELT_PATTERN))
+ else if (XMLString::equals(key, SchemaSymbols::fgELT_PATTERN) &&
xsMultiFacetList)
{
XMLStringTokenizer tokenizer(dv->getPattern(), regexSeparator,
fMemoryManager);
patternList = new (fMemoryManager) RefArrayVectorOf<XMLCh>(
@@ -994,7 +994,7 @@ void XSObjectFactory::processFacets(Data
}
}
- if (baseST->getMultiValueFacets())
+ if (baseST->getMultiValueFacets() && xsMultiFacetList)
{
XSMultiValueFacetList* baseMVFacets =
baseST->getMultiValueFacets();
for (unsigned int j=0; j<baseMVFacets->size(); j++)
Modified:
xerces/c/branches/xerces-3.1/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/xerces-3.1/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp?rev=1663359&r1=1663358&r2=1663359&view=diff
==============================================================================
---
xerces/c/branches/xerces-3.1/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
(original)
+++
xerces/c/branches/xerces-3.1/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp
Mon Mar 2 17:01:52 2015
@@ -101,6 +101,8 @@ bool InMemMsgLoader::loadMsg(const XMLM
return false;
else
srcPtr = gXMLDOMMsgArray[msgToLoad - 1];
+ } else {
+ return false;
}
while (*srcPtr && (outPtr < endPtr))
Modified: xerces/c/branches/xerces-3.1/src/xercesc/validators/DTD/DTDScanner.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/xerces-3.1/src/xercesc/validators/DTD/DTDScanner.cpp?rev=1663359&r1=1663358&r2=1663359&view=diff
==============================================================================
--- xerces/c/branches/xerces-3.1/src/xercesc/validators/DTD/DTDScanner.cpp
(original)
+++ xerces/c/branches/xerces-3.1/src/xercesc/validators/DTD/DTDScanner.cpp Mon
Mar 2 17:01:52 2015
@@ -1219,7 +1219,7 @@ DTDScanner::scanChildren(const DTDElemen
if ((curNode->getType() == ContentSpecNode::Choice)
|| (curNode->getType() == ContentSpecNode::Sequence))
{
- if (!curNode->getSecond())
+ if (!curNode->getSecond() && lastNode)
{
ContentSpecNode* saveFirst =
curNode->orphanFirst();
lastNode->setSecond(saveFirst);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]