Description
HTTPHdr::clear is called instead of HdrHeapSDKHandle::destroy in HttpTransact::EndRemapRequest. This will definitely cause memory leak when a plugin calls TSHttpTxnServerIntercept or TSHttpTxnIntercept. This bug influences a lot of users. Here is a patch below.
@@ -892,7 +892,7 @@ HTTP_INCREMENT_TRANS_STAT(http_invalid_client_requests_stat); TRANSACT_RETURN(SM_ACTION_SEND_ERROR_CACHE_NOOP, NULL); } else { - s->hdr_info.client_response.clear(); // anything previously set is invalid from this point forward + s->hdr_info.client_response.destroy(); DebugTxn("http_trans", "END HttpTransact::EndRemapRequest"); if (s->is_upgrade_request && s->post_remap_upgrade_return_point) {