From ed30ce7aa0cce39bf0e0a6a97afc8716873692fc Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 22 Mar 2021 12:06:39 +0100 Subject: spools: avoid leaking memory into the callers mem_ctx BUG: https://bugzilla.samba.org/show_bug.cgi?id=14675 CI: https://gitlab.com/samba-team/samba/-/merge_requests/1861 Signed-off-by: Ralph Boehme Reviewed-by: Volker Lendecke (cherry picked from commit 481176ec745c14b78fca68e01a61c83405a4b97b) --- source3/rpc_server/spoolss/srv_spoolss_nt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c index d20c19d5271..24ea7367ec8 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -5731,7 +5731,8 @@ static WERROR construct_printer_driver_info_level(TALLOC_CTX *mem_ctx, } if (pinfo2->drivername == NULL || pinfo2->drivername[0] == '\0') { - return WERR_UNKNOWN_PRINTER_DRIVER; + result = WERR_UNKNOWN_PRINTER_DRIVER; + goto done; } DBG_INFO("Construct printer driver [%s] for [%s]\n", @@ -7023,7 +7024,8 @@ static WERROR update_printer(struct pipes_struct *p, raddr = tsocket_address_inet_addr_string(p->remote_address, p->mem_ctx); if (raddr == NULL) { - return WERR_NOT_ENOUGH_MEMORY; + result = WERR_NOT_ENOUGH_MEMORY; + goto done; } /* add_printer_hook() will call reload_services() */ -- cgit v1.2.1