From 8fa041fd51697cb86f5f2eb3bcdc74699a631ef5 Mon Sep 17 00:00:00 2001 From: Noel Power Date: Thu, 29 Jan 2026 11:00:26 +0000 Subject: [PATCH 1/2] s3/printing: Fix leaked mem ctx returned from talloc_new BUG: https://bugzilla.samba.org/show_bug.cgi?id=15979 Signed-off-by: Noel Power Reviewed-by: Gary Lockyer (cherry picked from commit 5ba76344ef807577ea1fd4265d585285eb633971) --- source3/printing/printing.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source3/printing/printing.c b/source3/printing/printing.c index bcfd893456b..3afc3733983 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -2900,7 +2900,7 @@ NTSTATUS print_job_end(struct messaging_context *msg_ctx, int snum, pjob->filename, pjob->size ? "deleted" : "zero length" )); unlink(pjob->filename); pjob_delete(global_event_context(), msg_ctx, sharename, jobid); - return NT_STATUS_OK; + goto out; } /* don't strip out characters like '$' from the printername */ @@ -2942,7 +2942,8 @@ NTSTATUS print_job_end(struct messaging_context *msg_ctx, int snum, /* make sure the database is up to date */ if (print_cache_expired(lp_const_servicename(snum), True)) print_queue_update(msg_ctx, snum, False); - +out: + talloc_free(tmp_ctx); return NT_STATUS_OK; fail: -- 2.51.0 From 2c921968a29c6e133aaaeaf52eca8ec71414d0a7 Mon Sep 17 00:00:00 2001 From: Noel Power Date: Thu, 29 Jan 2026 15:12:52 +0000 Subject: [PATCH 2/2] s3/printing: Fix leaking parsed options BUG: https://bugzilla.samba.org/show_bug.cgi?id=15979 Signed-off-by: Noel Power Reviewed-by: Gary Lockyer Autobuild-User(master): Noel Power Autobuild-Date(master): Fri Jan 30 11:09:44 UTC 2026 on atb-devel-224 (cherry picked from commit 22021dbfa7a94007a511d05f25e49ab73dacbcf5) --- source3/printing/print_cups.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source3/printing/print_cups.c b/source3/printing/print_cups.c index d8ba9ccd011..f1449e1d1ea 100644 --- a/source3/printing/print_cups.c +++ b/source3/printing/print_cups.c @@ -1130,6 +1130,9 @@ static int cups_job_submit(int snum, struct printjob *pjob, if (http) httpClose(http); + if (num_options) { + cupsFreeOptions(num_options, options); + } TALLOC_FREE(frame); return ret; -- 2.51.0