s4:auth_sam: Restructure tail in "authsam_get_server_info_principal" and fix a memory...
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 16 Oct 2009 11:48:17 +0000 (13:48 +0200)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 16 Oct 2009 12:06:30 +0000 (14:06 +0200)
source4/auth/ntlm/auth_sam.c

index a64c56d920f276064d01d39d92e6c68fb480cbf8..58a21d2d22bae2cf22ea27b2a8990bb436897f4d 100644 (file)
@@ -332,6 +332,7 @@ NTSTATUS authsam_get_server_info_principal(TALLOC_CTX *mem_ctx,
        nt_status = sam_get_results_principal(sam_ctx, tmp_ctx, principal, 
                                              user_attrs, &domain_dn, &msg);
        if (!NT_STATUS_IS_OK(nt_status)) {
+               talloc_free(tmp_ctx);
                return nt_status;
        }
 
@@ -342,11 +343,15 @@ NTSTATUS authsam_get_server_info_principal(TALLOC_CTX *mem_ctx,
                                             msg,
                                             user_sess_key, lm_sess_key,
                                             server_info);
-       if (NT_STATUS_IS_OK(nt_status)) {
-               talloc_steal(mem_ctx, *server_info);
+       if (!NT_STATUS_IS_OK(nt_status)) {
+               talloc_free(tmp_ctx);
+               return nt_status;
        }
+
+       talloc_steal(mem_ctx, *server_info);
        talloc_free(tmp_ctx);
-       return nt_status;
+
+       return NT_STATUS_OK;
 }
 
 static const struct auth_operations sam_ignoredomain_ops = {