1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

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 <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Volker Lendecke 2023-03-29 06:20:01 -04:00 committed by Ralph Boehme
parent 12c8b67ef6
commit bea154c9c1
2 changed files with 3 additions and 3 deletions

View File

@ -1 +0,0 @@
samba3.smbtorture_s3.LOCAL-TDB-VALIDATE.smbtorture

View File

@ -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;