[ 
https://issues.apache.org/jira/browse/TS-996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

B Wyatt updated TS-996:
-----------------------

    Attachment: m_host.V2.patch

The attached patch is in error.  It is missing a (very important) line of code 
that properly sets m_host_length in the case that the host is in the header 
fields and does _not_ have a port designation.

The V2 patch addresses this
                
> 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
>         Attachments: m_host.V2.patch, m_host.patch
>
>
> 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

        

Reply via email to