From 30fb2377da1848959afc1cac0f9098a4d06d9959 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 28 Jun 2008 16:09:34 +0200 Subject: Fix a file descriptor leak in add_port_hook This was probably cut&paste from add_printer_hook which further down has the unconditional close(fd). In add_port_hook() we're not interested in the output of 'addport command', so don't create the out fd. (cherry picked from commit 0c5ca2127ac6e3c71e369242376d27429c3aee5e) --- source/rpc_server/srv_spoolss_nt.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c index f3129ac3536..5fff9008758 100644 --- a/source/rpc_server/srv_spoolss_nt.c +++ b/source/rpc_server/srv_spoolss_nt.c @@ -6155,7 +6155,6 @@ WERROR add_port_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char *portname char *cmd = lp_addport_cmd(); char *command = NULL; int ret; - int fd; SE_PRIV se_printop = SE_PRINT_OPERATOR; bool is_print_op = False; @@ -6179,7 +6178,7 @@ WERROR add_port_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char *portname if ( is_print_op ) become_root(); - ret = smbrun(command, &fd); + ret = smbrun(command, NULL); if ( is_print_op ) unbecome_root(); @@ -6191,8 +6190,6 @@ WERROR add_port_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char *portname TALLOC_FREE(command); if ( ret != 0 ) { - if (fd != -1) - close(fd); return WERR_ACCESS_DENIED; } -- cgit v1.2.1