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

Reply via email to