url_host_set() is free-ing and allocating memory at every call which is
triggering a crash in the heap code
-----------------------------------------------------------------------------------------------------------
Key: TS-185
URL: https://issues.apache.org/jira/browse/TS-185
Project: Traffic Server
Issue Type: Bug
Components: Core
Reporter: Manjesh Nilange
Assignee: Manjesh Nilange
Priority: Minor
Fix For: 2.0.0a
url_host_set() is calling this function every time:
const char *
mime_str_u16_set (HdrHeap *heap,
const char *s_str,
inku16 s_len,
const char **d_str,
inku16 *d_len,
bool must_copy)
{
// INKqa08287 - keep track of free string space.
// INVARIENT: passed in result pointers must be to
// either NULL or be valid ptr for a string already
// the string heaps
heap->free_string(*d_str, *d_len);
if (must_copy && s_str) {
s_str = heap->duplicate_str(s_str, s_len);
}
*d_str = s_str;
*d_len = s_len;
return(s_str);
}
So it always free()s and allocates a new chunk of memory. The regex mapping
code calls url_host_set() on the same URL object every time it finds a mapping.
At a high concurrency level, this was triggering a crash in the heap code.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.