You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Bill Blough (Jira)" <ji...@apache.org> on 2020/04/07 15:54:00 UTC
[jira] [Updated] (AXIS2C-1597) Memory corruption in
axis2_http_transport_utils_process_accept_headers()
[ https://issues.apache.org/jira/browse/AXIS2C-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Blough updated AXIS2C-1597:
--------------------------------
Fix Version/s: 1.7.0
> Memory corruption in axis2_http_transport_utils_process_accept_headers()
> ------------------------------------------------------------------------
>
> Key: AXIS2C-1597
> URL: https://issues.apache.org/jira/browse/AXIS2C-1597
> Project: Axis2-C
> Issue Type: Bug
> Components: transport/http
> Affects Versions: Current (Nightly)
> Reporter: Ivan Pechorin
> Assignee: Korale Gamaralalage Nandika Chandrasiri Jayawardana
> Priority: Critical
> Fix For: 1.7.0
>
> Attachments: axis2-c-accept_record_list.patch
>
>
> There's an obvious bug/typo in src/core/transport/http/util/http_transport_utils.c in function axis2_http_transport_utils_process_accept_headers().
> First, the "Accept:" header is tokenized into <accept_field_list>.
> Then in a loop (iterating over the accept_record_list):
> 1) each field is parsed into struct axis2_http_accept_record_t
> 2) the struct should be added into a list of records list, <accept_record_list>
> However, there's a typo here and the record is added into the same original list (<accept_field_list>), not into the <accept_record_list>.
> This results in looping over and over the same list with 100% CPU load, and also memory issues (because arbitrary not necessary 0-terminated pieces of memory are being strdup'ed).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org