Issue Details (XML | Word | Printable)

Key: AXISCPP-222
Type: Bug Bug
Status: Closed Closed
Resolution: Won't Fix
Priority: Minor Minor
Assignee: Unassigned
Reporter: James Guido
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Axis-C++

infinite loop in XMLPaserExpat when it encounters bad XML

Created: 22/Oct/04 07:12 PM   Updated: 20/Dec/04 11:01 AM
Return to search
Component/s: Parser Library - Expat
Affects Version/s: 1.2 Final, 1.3 Beta
Fix Version/s: 1.4 Alpha

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works XMLParserExpat.cpp.diff_w_v1.9 2004-10-22 07:12 PM James Guido 13 kB
Environment: HP-UX with GCC compiler, Expat 1.95.7
Issue Links:
dependent
 

Resolution Date: 20/Dec/04 11:01 AM


 Description  « Hide
Code when encounters only one event in XML events stack, it checks if last event is CHAR data. If last event is CHAR data; then, code proceeds to parse more data. Infinite loop is triggered when CHAR is the last data in stream. Eventhough stream returns TRANSPORT_FINISHED, XMLParserExpat goes into an infinite loop requesting for more data to parse.

I accidently trigger the bug by setting the content-lenght smaller than message, then the web server clipped SOAP message. If Axis w/ Expat parser encounters a message that was clipped/truncated, it will go into infinite if CHAR data is last data in stream.

I am attaching the fix I used.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
James Guido made changes - 22/Oct/04 07:12 PM
Field Original Value New Value
Attachment XMLParserExpat.cpp.diff_w_v1.9 [ 18002 ]
John Hawkins made changes - 26/Oct/04 12:55 PM
Component/s XML parser abstraction layer [ 11416 ]
Component/s Parser Library - Expat [ 11443 ]
Samisa Abeysinghe made changes - 20/Dec/04 10:58 AM
Link This issue is depended upon by AXISCPP-178 [ AXISCPP-178 ]
Samisa Abeysinghe added a comment - 20/Dec/04 11:01 AM
The community decided to move the Expat based parser lib to graveyard due to this issue and some other related issues. If one gives rebirth to Expat based parser lib, this and other related issues should be reopened and fixed.

Samisa Abeysinghe made changes - 20/Dec/04 11:01 AM
Resolution Won't Fix [ 2 ]
Status Open [ 1 ] Closed [ 6 ]
Fix Version/s 1.4 Alpha [ 10933 ]