]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3-libads: Fix a possible segfault in kerberos_fetch_pac().
authorAndreas Schneider <asn@samba.org>
Wed, 7 Jan 2015 16:12:54 +0000 (17:12 +0100)
committerKarolin Seeger <kseeger@samba.org>
Wed, 14 Jan 2015 21:01:32 +0000 (22:01 +0100)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11037

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit a13e29cc4345d85ab6fe4482119386b87e4e8673)

source3/libads/authdata.c

index 2c667a66bcd3dcea68c0dda7991ddb4cdf768313..b4aee72ee5b1c4dc5281db0f227c25c22d08ce27 100644 (file)
@@ -59,17 +59,17 @@ static NTSTATUS kerberos_fetch_pac(struct auth4_context *auth_ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
-       if (pac_blob) {
+       if (pac_blob != NULL) {
                status = kerberos_pac_logon_info(tmp_ctx, *pac_blob, NULL, NULL,
                                                 NULL, NULL, 0, &logon_info);
                if (!NT_STATUS_IS_OK(status)) {
                        goto done;
                }
-       }
 
-       talloc_set_name_const(logon_info, "struct PAC_LOGON_INFO");
+               talloc_set_name_const(logon_info, "struct PAC_LOGON_INFO");
 
-       auth_ctx->private_data = talloc_steal(auth_ctx, logon_info);
+               auth_ctx->private_data = talloc_steal(auth_ctx, logon_info);
+       }
        *session_info = talloc_zero(mem_ctx, struct auth_session_info);
        if (!*session_info) {
                status = NT_STATUS_NO_MEMORY;