From 92b087182c047cd457bbe04d6306c50451698d61 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 20 Feb 2013 10:52:37 +0100 Subject: [PATCH] s3-rpc_server: Make sure that fd is really closed on error. Reviewed-by: Alexander Bokovoy --- source3/rpc_server/rpc_sock_helper.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source3/rpc_server/rpc_sock_helper.c b/source3/rpc_server/rpc_sock_helper.c index 198df903ad42..dc88f25a9000 100644 --- a/source3/rpc_server/rpc_sock_helper.c +++ b/source3/rpc_server/rpc_sock_helper.c @@ -63,6 +63,9 @@ NTSTATUS rpc_create_tcpip_sockets(const struct ndr_interface_table *iface, fd = create_tcpip_socket(ifss, &p); if (fd < 0 || p == 0) { status = NT_STATUS_UNSUCCESSFUL; + if (fd != -1) { + close(fd); + } goto done; } listen_fd[*listen_fd_size] = fd; @@ -124,6 +127,9 @@ NTSTATUS rpc_create_tcpip_sockets(const struct ndr_interface_table *iface, fd = create_tcpip_socket(&ss, &p); if (fd < 0 || p == 0) { status = NT_STATUS_UNSUCCESSFUL; + if (fd != -1) { + close(fd); + } goto done; } listen_fd[*listen_fd_size] = fd; -- 2.34.1