From: Volker Lendecke Date: Fri, 23 Jul 2021 06:47:47 +0000 (+0200) Subject: samdb: Fix an uninitialized variable read X-Git-Tag: ldb-2.5.0~1016 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2a08f5d679a7f426bd7fb87b0a684c25ca72c12;p=thirdparty%2Fsamba.git samdb: Fix an uninitialized variable read When the "(status == LDB_SUCCESS && msg != NULL)" condition in this routine is not evaluating to true, "new_rid" is read uninitialized, comparing it against ~0. Initialize new_rid and compare it against UINT32_MAX instead of ~0. Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- diff --git a/source4/dsdb/samdb/ldb_modules/group_audit.c b/source4/dsdb/samdb/ldb_modules/group_audit.c index 5a01ac8a185..a6ca25eae4c 100644 --- a/source4/dsdb/samdb/ldb_modules/group_audit.c +++ b/source4/dsdb/samdb/ldb_modules/group_audit.c @@ -911,7 +911,7 @@ static void log_user_primary_group_change( const int status) { TALLOC_CTX *ctx = talloc_new(NULL); - uint32_t new_rid; + uint32_t new_rid = UINT32_MAX; struct dom_sid *account_sid = NULL; int ret; const struct ldb_message *msg = dsdb_audit_get_message(acc->request); @@ -945,7 +945,7 @@ static void log_user_primary_group_change( * Otherwise only log if the primary group has actually changed. */ if (account_sid != NULL && - new_rid != ~0 && + new_rid != UINT32_MAX && acc->primary_group != new_rid) { const char* group = get_primary_group_dn( ctx,