mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +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:
parent
12c8b67ef6
commit
bea154c9c1
@ -1 +0,0 @@
|
|||||||
samba3.smbtorture_s3.LOCAL-TDB-VALIDATE.smbtorture
|
|
@ -31,6 +31,7 @@ static int tdb_validate_child(struct tdb_context *tdb,
|
|||||||
tdb_validate_data_func validate_fn)
|
tdb_validate_data_func validate_fn)
|
||||||
{
|
{
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
|
int check_rc;
|
||||||
int num_entries = 0;
|
int num_entries = 0;
|
||||||
struct tdb_validation_status v_status;
|
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,
|
* we can simplify this by passing a check function,
|
||||||
* but I don't want to change all the callers...
|
* but I don't want to change all the callers...
|
||||||
*/
|
*/
|
||||||
ret = tdb_check(tdb, NULL, NULL);
|
check_rc = tdb_check(tdb, NULL, NULL);
|
||||||
if (ret != 0) {
|
if (check_rc != 0) {
|
||||||
v_status.tdb_error = True;
|
v_status.tdb_error = True;
|
||||||
v_status.success = False;
|
v_status.success = False;
|
||||||
goto out;
|
goto out;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user