From 14c0da774f4c6fea9774fa8cd05cd1d1e7f03fe3 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 4 Apr 2018 20:33:38 +0200 Subject: use uv_freeaddrinfo --- src/core/lib/iomgr/tcp_uv.cc | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/core/lib/iomgr') diff --git a/src/core/lib/iomgr/tcp_uv.cc b/src/core/lib/iomgr/tcp_uv.cc index 178efa6a37..f20f8dcb74 100644 --- a/src/core/lib/iomgr/tcp_uv.cc +++ b/src/core/lib/iomgr/tcp_uv.cc @@ -338,7 +338,6 @@ static void uv_socket_connect(grpc_custom_socket* socket, static grpc_resolved_addresses* handle_addrinfo_result( struct addrinfo* result) { struct addrinfo* resp; - struct addrinfo* prev; size_t i; grpc_resolved_addresses* addresses = (grpc_resolved_addresses*)gpr_malloc(sizeof(grpc_resolved_addresses)); @@ -348,18 +347,13 @@ static grpc_resolved_addresses* handle_addrinfo_result( } addresses->addrs = (grpc_resolved_address*)gpr_malloc( sizeof(grpc_resolved_address) * addresses->naddrs); - i = 0; - resp = result; - while (resp != nullptr) { + for (resp = result, i = 0; resp != nullptr; resp = resp->ai_next, i++) { memcpy(&addresses->addrs[i].addr, resp->ai_addr, resp->ai_addrlen); addresses->addrs[i].len = resp->ai_addrlen; - i++; - prev = resp; - resp = resp->ai_next; - // addrinfo objects are allocated by libuv (e.g. in uv_getaddrinfo) - // and not by gpr_malloc - free(prev); } + // addrinfo objects are allocated by libuv (e.g. in uv_getaddrinfo) + // and not by gpr_malloc + uv_freeaddrinfo(result); return addresses; } -- cgit v1.2.3