You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by bu...@apache.org on 2003/06/22 22:29:20 UTC

DO NOT REPLY [Bug 21001] New: - XercesDOMParser::loadGrammar cause seg fault

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21001>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21001

XercesDOMParser::loadGrammar cause seg fault

           Summary: XercesDOMParser::loadGrammar cause seg fault
           Product: Xerces-C++
           Version: 2.3.0
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: DOM
        AssignedTo: xerces-c-dev@xml.apache.org
        ReportedBy: el_tavlador1979@yahoo.com


The program below crashes on the parser3->loadGrammar call, while it works 
properly for parser1 and parser2. I've tested this both on cygwin (gcc 3.2) and 
SunOS 5.9 (gcc 2.95.3).

George

========================================================================

#include <xercesc/parsers/SAXParser.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/validators/DTD/DTDGrammar.hpp>
#include <xercesc/sax2/XMLReaderFactory.hpp>
#include <iostream>

XERCES_CPP_NAMESPACE_USE

int main(int argc, char* argv[]) {
    XMLPlatformUtils::Initialize();
    
    SAXParser* parser1 = new SAXParser();
    parser1->loadGrammar(argv[1], Grammar::DTDGrammarType, true);
    std::cerr << "SAXParser.loadGrammar ok" << std::endl;
    
    SAX2XMLReader* parser2 = XMLReaderFactory::createXMLReader();
    parser2->loadGrammar(argv[1], Grammar::DTDGrammarType, true);
    std::cerr << "SAX2XMLReader.loadGrammar ok" << std::endl;
    
    /* XercesDOMParser crashes */
    XercesDOMParser* parser3 = new XercesDOMParser();
    parser3->loadGrammar(argv[1], Grammar::DTDGrammarType, true);
    std::cerr << "XercesDOMParser.loadGrammar ok" << std::endl;
}

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org