From: Willy Tarreau Date: Thu, 18 Jul 2019 09:16:41 +0000 (+0200) Subject: MINOR: connection: don't use clear_addr() anymore, just release the address X-Git-Tag: v2.1-dev2~297 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=16aa4aff6bbc92d51c8b781ceb83b234f0b27dc2;p=thirdparty%2Fhaproxy.git MINOR: connection: don't use clear_addr() anymore, just release the address Now that we have dynamically allocated addresses, there's no need to clear an address before reusing it, just release it. Note that this is not equivalent to saying that an address is never zero, as shown in assign_server_address() where an address 0.0.0.0 can still be assigned to a connection for the time it takes to modify it. --- diff --git a/src/backend.c b/src/backend.c index dcf364201b..a20150a3e8 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1054,8 +1054,7 @@ static void assign_tproxy_address(struct stream *s) if (cli_conn && conn_get_src(cli_conn)) *srv_conn->src = *cli_conn->src; else { - /* FIXME WTA: the dynamic address may be released here */ - memset(srv_conn->src, 0, sizeof(*srv_conn->src)); + sockaddr_free(&srv_conn->src); } break; case CO_SRC_TPROXY_DYN: @@ -1076,8 +1075,7 @@ static void assign_tproxy_address(struct stream *s) } break; default: - /* FIXME WTA: the dynamic address may be released here */ - memset(srv_conn->src, 0, sizeof(*srv_conn->src)); + sockaddr_free(&srv_conn->src); } #endif }