From: Samuel Cabrero Date: Wed, 30 Mar 2022 16:12:46 +0000 (+0200) Subject: s3:winbind: Refactor winbindd_dual_pam_auth_cached(), delay out variable assignment X-Git-Tag: tevent-0.12.0~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e017e217e620add239de5397a88415afad0b990;p=thirdparty%2Fsamba.git s3:winbind: Refactor winbindd_dual_pam_auth_cached(), delay out variable assignment Delay the assignment of the out varible and assign it only if returning NT_STATUS_OK, the caller does not use the returned netr_SamInfo3 if the function does not return NT_STATUS_OK. Signed-off-by: Samuel Cabrero Reviewed-by: Jeremy Allison --- diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c index 585173e90cf..5ae42d65877 100644 --- a/source3/winbindd/winbindd_pam.c +++ b/source3/winbindd/winbindd_pam.c @@ -1210,8 +1210,6 @@ static NTSTATUS winbindd_dual_pam_auth_cached(struct winbindd_domain *domain, goto out; } - *info3 = talloc_steal(mem_ctx, my_info3); - E_md4hash(state->request->data.auth.pass, new_nt_pass); dump_data_pw("new_nt_pass", new_nt_pass, NT_HASH_LEN); @@ -1413,6 +1411,8 @@ static NTSTATUS winbindd_dual_pam_auth_cached(struct winbindd_domain *domain, goto out; } + *info3 = talloc_move(mem_ctx, &my_info3); + result = NT_STATUS_OK; goto out; }