Ok, this fix was just checked into CVS.

----------------------------------------
Dean Roddey
Software Weenie
IBM Center for Java Technology - Silicon Valley
[EMAIL PROTECTED]



[EMAIL PROTECTED] on 03/20/2000 09:17:36 AM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:
Subject:  looks like a bug in Xerces 1.1.0 C++




void ReaderMgr::getLastExtEntityInfo(LastExtEntityInfo& lastInfo) const
{
    //
    //  If the reader stack never got created, then we can't give this
    //  information.
    //
    if (!fReaderStack && !fCurReader)

//  ---- HERE  fReaderStack !=0 and fCurReader == 0 so the conditions fails
----
    {
        lastInfo.systemId = XMLUni::fgZeroLenString;
        lastInfo.publicId = XMLUni::fgZeroLenString;
        lastInfo.lineNumber = 0;
        lastInfo.colNumber = 0;
        return;
    }

    // We have at least one entity so get the data
    const XMLEntityDecl*    theEntity;

// --- HERE the getLastExtEntity() returns value of fCurReader !!! equal to
0 (see above) !!!!
// --- which is assigned to the theReader variable

    const XMLReader*        theReader = getLastExtEntity(theEntity);

    // Fill in the info structure with the reader we found

// --- and HERE comes the crash as theReader is NULL pointer

    lastInfo.systemId = theReader->getSystemId();
    lastInfo.publicId = theReader->getPublicId();
    lastInfo.lineNumber = theReader->getLineNumber();
    lastInfo.colNumber = theReader->getColumnNumber();
}


Reply via email to