You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by sh...@apache.org on 2019/03/27 16:48:07 UTC
[trafficserver] branch master updated: Fix stale heap triggering
assert in TSHttpTxnCachedRespGet
This is an automated email from the ASF dual-hosted git repository.
shinrich pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 5b24c07 Fix stale heap triggering assert in TSHttpTxnCachedRespGet
5b24c07 is described below
commit 5b24c07f7d0b2c52ffeb525712902aa2430347a4
Author: Susan Hinrichs <sh...@oath.com>
AuthorDate: Wed Mar 27 14:07:08 2019 +0000
Fix stale heap triggering assert in TSHttpTxnCachedRespGet
---
src/traffic_server/InkAPI.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/traffic_server/InkAPI.cc b/src/traffic_server/InkAPI.cc
index 0454459..fb1e0d0 100644
--- a/src/traffic_server/InkAPI.cc
+++ b/src/traffic_server/InkAPI.cc
@@ -5037,9 +5037,10 @@ TSHttpTxnCachedRespGet(TSHttpTxn txnp, TSMBuffer *bufp, TSMLoc *obj)
HdrHeapSDKHandle **handle = &(sm->t_state.cache_resp_hdr_heap_handle);
if (*handle == nullptr) {
- *handle = (HdrHeapSDKHandle *)sm->t_state.arena.alloc(sizeof(HdrHeapSDKHandle));
- (*handle)->m_heap = cached_hdr->m_heap;
+ *handle = (HdrHeapSDKHandle *)sm->t_state.arena.alloc(sizeof(HdrHeapSDKHandle));
}
+ // Always reset the m_heap to make sure the heap is not stale
+ (*handle)->m_heap = cached_hdr->m_heap;
*(reinterpret_cast<HdrHeapSDKHandle **>(bufp)) = *handle;
*obj = reinterpret_cast<TSMLoc>(cached_hdr->m_http);