Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
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: Unassigned
   Priority: Critical

    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, 10 Aug 2004 8:14 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]

Reply via email to