Message:
The following issue has been resolved as FIXED.
Resolver: cargilld
Date: Tue, 12 Oct 2004 9:06 AM
Updating resolution to fixed, as Khaled checked in a change a while ago.
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/XERCESC-1251
Here is an overview of the issue:
---------------------------------------------------------------------
Key: XERCESC-1251
Summary: makeContentModel in ComplexTypeInfo could crash Xerces when creating a
MixedContentModel
Type: Bug
Status: Resolved
Priority: Critical
Resolution: FIXED
Project: Xerces-C++
Components:
Validating Parser (Schema) (Xerces 1.5 or up only)
Versions:
2.5.0
Assignee:
Reporter: Andrew Fang
Created: Tue, 10 Aug 2004 8:14 AM
Updated: Tue, 12 Oct 2004 9:06 AM
Environment: Windows Xp Sp1
Description:
In makeContentModel method in complextypeinfo.cpp, the following code could crash
Xerces:
aSpecNode = new (fMemoryManager) ContentSpecNode(*fContentSpec);
aSpecNode = convertContentSpecTree(aSpecNode, checkUPA);
retModel = buildContentModel(aSpecNode);
delete aSpecNode;
In the case when buildContentModel creates a MixedContentModel model, the statement
"delete aSpecNode" freed fChildren in MixedContentModel. Later access to fChildren
could crash Xerces.
We ran into some crashes due to this bug. One possible fix is to create a QName in the
class MixedContentModel:
line 212
for (unsigned int index = 0; index < fCount; index++) {
fChildren[index] = new QName(*children.elementAt(index));
fChildTypes[index] = childTypes.elementAt(index);
}
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]