]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:rpc_server: Properly initialize ‘lsa_CreateTrustedDomainEx2’ structure (CID 1499407)
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Mon, 30 Oct 2023 23:11:37 +0000 (12:11 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 2 Nov 2023 03:08:37 +0000 (03:08 +0000)
dcesrv_lsa_CreateTrustedDomain_base() invokes DCESRV_PULL_HANDLE(),
which invokes DCESRV_PULL_HANDLE_RETVAL(), which invokes
DCESRV_CHECK_HANDLE(), which might invoke DCESRV_FAULT(), which accesses
r2.out.result, which is uninitialized — invoking undefined behaviour.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/rpc_server/lsa/dcesrv_lsa.c

index 447789708f13de468a622d543b59f488c399e409..d1342747e88bfade78cd95d22b6e03ebc1dbd8c3 100644 (file)
@@ -1445,7 +1445,7 @@ static NTSTATUS dcesrv_lsa_CreateTrustedDomainEx(struct dcesrv_call_state *dce_c
 static NTSTATUS dcesrv_lsa_CreateTrustedDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
                                        struct lsa_CreateTrustedDomain *r)
 {
-       struct lsa_CreateTrustedDomainEx2 r2;
+       struct lsa_CreateTrustedDomainEx2 r2 = {};
 
        r2.in.policy_handle = r->in.policy_handle;
        r2.in.info = talloc(mem_ctx, struct lsa_TrustDomainInfoInfoEx);