HTTPHdr::m_host goes stale if HdrHeap::evacuate_from_str_heaps is called
------------------------------------------------------------------------
Key: TS-996
URL: https://issues.apache.org/jira/browse/TS-996
Project: Traffic Server
Issue Type: Bug
Components: HTTP, MIME
Affects Versions: 3.1.0
Reporter: B Wyatt
class HTTPHdr stores a copy of the string pointer from either the URLimpl or
the MIMEHdr for the host name in m_host. In both cases, these strings can be
moved to a new heap underneath the HTTPHdr. When this happens, the process
will, at best read stale memory and be fine and at worst read unmapped memory
and segfault.
Currently, HdrHeap::evacuate_from_str_heaps is called to coalesce multiple
heaps into a single heap. When this happens it will directly access the low
level objects via ::move_strings calls. These objects do not posses the
necessary information to inform parent objects about the change, nor does the
HdrHeap directly inform interested parties.
--
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