The branch, master has been updated via 91f1567cdca s3:rpc_server/mdssvc: don't crash mdssvc_tracker_shutdown with NULL glue via 370b777202b s3:auth: call wbcFreeMemory(info) in auth3_generate_session_info_pac() from fcecdfa8e5c s4:dnsserver: Rename dns_name_equal() to samba_dns_name_equal()
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 91f1567cdcaed3a8f8faf4e77616553308a5f8eb Author: Stefan Metzmacher <me...@samba.org> Date: Wed Jan 11 23:48:11 2023 +0100 s3:rpc_server/mdssvc: don't crash mdssvc_tracker_shutdown with NULL glue If mdssvc_tracker_shutdown() is called without any mds_tracker_connect() we would crash as mdssvc_tracker_init() don't call mdssvc_tracker_prepare(). Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Thu Jan 19 19:46:01 UTC 2023 on atb-devel-224 commit 370b777202bbd9730209a3e18de102b4f163f18d Author: Stefan Metzmacher <me...@samba.org> Date: Thu Dec 16 18:24:16 2021 +0100 s3:auth: call wbcFreeMemory(info) in auth3_generate_session_info_pac() BUG: https://bugzilla.samba.org/show_bug.cgi?id=15286 Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> ----------------------------------------------------------------------- Summary of changes: source3/auth/auth_generic.c | 1 + source3/rpc_server/mdssvc/mdssvc_tracker.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/auth/auth_generic.c b/source3/auth/auth_generic.c index ff51307e43a..6c61eb4e827 100644 --- a/source3/auth/auth_generic.c +++ b/source3/auth/auth_generic.c @@ -143,6 +143,7 @@ static NTSTATUS auth3_generate_session_info_pac(struct auth4_context *auth_ctx, info->account_name, info->domain_name, info, &server_info); + wbcFreeMemory(info); if (!NT_STATUS_IS_OK(status)) { DEBUG(10, ("make_server_info_wbcAuthUserInfo failed: %s\n", nt_errstr(status))); diff --git a/source3/rpc_server/mdssvc/mdssvc_tracker.c b/source3/rpc_server/mdssvc/mdssvc_tracker.c index fab8bd22324..7ad6989fd25 100644 --- a/source3/rpc_server/mdssvc/mdssvc_tracker.c +++ b/source3/rpc_server/mdssvc/mdssvc_tracker.c @@ -286,7 +286,6 @@ static bool mdssvc_tracker_prepare(void) mdssvc_tracker_ctx->gmain_ctx = g_main_context_new(); if (mdssvc_tracker_ctx->gmain_ctx == NULL) { DBG_ERR("error from g_main_context_new\n"); - TALLOC_FREE(mdssvc_tracker_ctx); return false; } @@ -297,7 +296,7 @@ static bool mdssvc_tracker_prepare(void) if (mdssvc_tracker_ctx->glue == NULL) { DBG_ERR("samba_tevent_glib_glue_create failed\n"); g_object_unref(mdssvc_tracker_ctx->gmain_ctx); - TALLOC_FREE(mdssvc_tracker_ctx); + mdssvc_tracker_ctx->gmain_ctx = NULL; return false; } @@ -306,10 +305,19 @@ static bool mdssvc_tracker_prepare(void) static bool mdssvc_tracker_shutdown(struct mdssvc_ctx *mdssvc_ctx) { + if (mdssvc_tracker_ctx == NULL) { + return true; + } + + if (mdssvc_tracker_ctx->gmain_ctx == NULL) { + return true; + } + samba_tevent_glib_glue_quit(mdssvc_tracker_ctx->glue); TALLOC_FREE(mdssvc_tracker_ctx->glue); g_object_unref(mdssvc_tracker_ctx->gmain_ctx); + mdssvc_tracker_ctx->gmain_ctx = NULL; return true; } -- Samba Shared Repository