axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Mitchell (JIRA)" <>
Subject [jira] Updated: (AXIS2C-933) guththila parser fails when incoming message longer than 16984 characters
Date Sat, 26 Jan 2008 05:09:34 GMT


Bill Mitchell updated AXIS2C-933:

    Attachment: diff.txt

It is unfortunately not very easy and maybe not helpful to separate these changes from the
ones already underdevelopment for AXIS2C-857.  So I didn't try, those changes are also present
in this patch.  

Also included are two small related fixes, to detect and handle the out of memory situation
when allocating more buffers, and to forego the initialization of variables not used in the
normal next_char path as I expect its performance does matter.

> guththila parser fails when incoming message longer than 16984 characters
> -------------------------------------------------------------------------
>                 Key: AXIS2C-933
>                 URL:
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: guththila
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP, Visual Studio 2005, guththila, libcurl
>            Reporter: Bill Mitchell
>         Attachments: diff.txt
> The code in the guththila parser has a couple of problems when the first allocated buffer
fills up and it attempts to read more data.  First, when allocating another buffer it doubled
the size of all the buffers allocated to this point, but then recorded the new buffer size
as only equal to the size of all the previous buffers.  Second, after fixing the buffer allocation
issue, I discovered that the read into the buffer tried to read as much as all the buffers
to date, instead of just the amount remaining in the buffer just allocated.  There is also
a subtle problem in the guththila_next_no_char routine if last_start is not set, that it did
not assure that all the characters since next are moved to the newly allocated buffer.  
> While debugging this, because of other issues, I walked through the path of an unexpected
EOF in the middle of the incoming message, and discovered that several while loops in the
parser do not stop on EOF, but just keep reading and reading and reading...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message