diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index b5f32691ce6..de96aa9622b 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -7859,6 +7859,8 @@ HttpSM::redirect_request(const char *redirect_url, const int redirect_len) // we have a new OS and need to have DNS lookup the new OS t_state.dns_info.lookup_success = false; t_state.force_dns = false; + t_state.server_info.clear(); + t_state.parent_info.clear(); if (t_state.txn_conf->cache_http) { t_state.cache_info.object_read = nullptr; diff --git a/proxy/http/HttpTransact.h b/proxy/http/HttpTransact.h index 9049891443a..33fa650fd50 100644 --- a/proxy/http/HttpTransact.h +++ b/proxy/http/HttpTransact.h @@ -702,8 +702,14 @@ class HttpTransact port_attribute(HttpProxyPort::TRANSPORT_DEFAULT), is_transparent(false) { - memset(&src_addr, 0, sizeof(src_addr)); - memset(&dst_addr, 0, sizeof(dst_addr)); + clear(); + } + void + clear() + { + ink_zero(src_addr); + ink_zero(dst_addr); + connect_result = 0; } };