From 8cfcd6e23413dc45b45d0a36723fc3e97bd6baca Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 29 Mar 2023 06:20:01 -0400 Subject: [PATCH] lib: Fix tdb_validate() for incorrect tdb entries We should not overwrite the "rc=1" initialization with the tdb_check retval. This will lead to tdb_validate_child() returning 0 even when validate_fn() found invalid entries. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14789 Signed-off-by: Volker Lendecke --- source3/lib/tdb_validate.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source3/lib/tdb_validate.c b/source3/lib/tdb_validate.c index 9db182fb0b3..78bd824c09d 100644 --- a/source3/lib/tdb_validate.c +++ b/source3/lib/tdb_validate.c @@ -31,6 +31,7 @@ static int tdb_validate_child(struct tdb_context *tdb, tdb_validate_data_func validate_fn) { int ret = 1; + int check_rc; int num_entries = 0; struct tdb_validation_status v_status; @@ -50,8 +51,8 @@ static int tdb_validate_child(struct tdb_context *tdb, * we can simplify this by passing a check function, * but I don't want to change all the callers... */ - ret = tdb_check(tdb, NULL, NULL); - if (ret != 0) { + check_rc = tdb_check(tdb, NULL, NULL); + if (check_rc != 0) { v_status.tdb_error = True; v_status.success = False; goto out; -- 2.30.2