Ivan Pechorin created AXIS2C-1597:
-------------------------------------
Summary: 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
Priority: Critical
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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org
|