From: Andreas Schneider Date: Tue, 18 Jun 2024 13:48:38 +0000 (+0200) Subject: s3:lib: Make sure struct security_ace is fully initialized X-Git-Tag: tdb-1.4.11~332 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c709cb8a17cb1d441c598b9e894f55a3f16bd6df;p=thirdparty%2Fsamba.git s3:lib: Make sure struct security_ace is fully initialized Found by Covscan. "Error: UNINIT (CWE-457): samba-4.20.0rc2/source3/lib/sharesec.c:275: var_decl: Declaring variable ""ace"" without initializer. samba-4.20.0rc2/source3/lib/sharesec.c:285: uninit_use_in_call: Using uninitialized value ""ace"". Field ""ace.object"" is uninitialized when calling ""make_sec_acl"". 283| init_sec_ace(&ace, &global_sid_World, SEC_ACE_TYPE_ACCESS_ALLOWED, sa, 0); 284| 285|-> if ((psa = make_sec_acl(ctx, NT4_ACL_REVISION, 1, &ace)) != NULL) { 286| psd = make_sec_desc(ctx, SECURITY_DESCRIPTOR_REVISION_1, 287| SEC_DESC_SELF_RELATIVE, NULL, NULL, NULL," Signed-off-by: Andreas Schneider Reviewed-by: Signed-off-by: Martin Schwenke --- diff --git a/source3/lib/sharesec.c b/source3/lib/sharesec.c index e6f087fc697..da1d5e89e54 100644 --- a/source3/lib/sharesec.c +++ b/source3/lib/sharesec.c @@ -272,7 +272,9 @@ static struct security_descriptor *get_share_security_default(TALLOC_CTX *ctx, uint32_t def_access) { uint32_t sa; - struct security_ace ace; + struct security_ace ace = { + .size = 0, + }; struct security_acl *psa = NULL; struct security_descriptor *psd = NULL; uint32_t spec_access = def_access;