axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kamlesh kumar <kamaa...@yahoo.com>
Subject Problems with XMLParserXerces
Date Sat, 12 Aug 2006 02:41:21 GMT
The current implementation of XMLParserXerces ignores
the  value returned by the parseNext() call, this
causes the program to crash the next time parseNext()
is called. 

Here is a sample code inside the peek function
illustrating the problem. 

AnyElement* elem = m_Xhandler.getAnyElement();
        while (CHARACTER_ELEMENT == elem->m_type) /
        { /* ignorable white space */
            m_Xhandler.freeElement();
            bCanParseMore =
m_pParser->parseNext(m_ScanToken);
            elem = m_Xhandler.getAnyElement();
         }

It has two problems one it ignores the value of
bCanParseMore and secondly it doesn't check if elem is
null or not before entering the while loop again. 

Ideally, once the parser returns a value of
false(indicating the end of stream) we shouldn't be
calling parseNext() function. I think it would be
better to have a class member variable called
m_bCanParseMore which we check before making any call
to parseNext function. This would avoid the problem.

I run into this situation more often as I am using the
SoapDeSerializer API directly. I see someone else have
also faced this problem 
http://mail-archives.apache.org/mod_mbox/ws-axis-c-dev/200507.mbox/%3C256180486.1122544765692.JavaMail.jira@ajax.apache.org%3E

Can someone take a look into XMLParserXerces.cpp and
fix this problem ?





__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

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


Mime
View raw message