Skip to content
Snippets Groups Projects
Commit b1c4e619 authored by Paul Marks's avatar Paul Marks Committed by GitHub
Browse files

Merge pull request #8849 from pmarks-net/master

Fix a memory leak in grpc_udp_server_add_port()
parents 9832b9b2 83b6e8e6
Branches
Tags
No related merge requests found
...@@ -388,7 +388,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, ...@@ -388,7 +388,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s,
/* Try listening on IPv6 first. */ /* Try listening on IPv6 first. */
addr = &wild6; addr = &wild6;
// TODO(rjshade): Test and propagate the returned grpc_error*: // TODO(rjshade): Test and propagate the returned grpc_error*:
grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode, &fd); GRPC_ERROR_UNREF(grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP,
&dsmode, &fd));
allocated_port1 = add_socket_to_server(s, fd, addr, read_cb, orphan_cb); allocated_port1 = add_socket_to_server(s, fd, addr, read_cb, orphan_cb);
if (fd >= 0 && dsmode == GRPC_DSMODE_DUALSTACK) { if (fd >= 0 && dsmode == GRPC_DSMODE_DUALSTACK) {
goto done; goto done;
...@@ -402,7 +403,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, ...@@ -402,7 +403,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s,
} }
// TODO(rjshade): Test and propagate the returned grpc_error*: // TODO(rjshade): Test and propagate the returned grpc_error*:
grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode, &fd); GRPC_ERROR_UNREF(grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP,
&dsmode, &fd));
if (fd < 0) { if (fd < 0) {
gpr_log(GPR_ERROR, "Unable to create socket: %s", strerror(errno)); gpr_log(GPR_ERROR, "Unable to create socket: %s", strerror(errno));
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment