Uploaded image for project: 'Axis-C++'
  1. Axis-C++
  2. AXISCPP-222

infinite loop in XMLPaserExpat when it encounters bad XML

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 1.2 Final, 1.3 Beta
    • 1.4 Alpha
    • Parser Library - Expat
    • None
    • HP-UX with GCC compiler, Expat 1.95.7

    Description

      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.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            james_guido James Guido
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment