summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2007-07-17 13:06:29 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:28:46 -0500
commitdc278f2d8f1878b31acedb0271fcf964b4952114 (patch)
tree07075b472b88999e26dad681db8aa41789e6cab8 /source3
parentb82060b88f8f700097cc7a1c7fa3abd147fd1b4b (diff)
downloadsamba-dc278f2d8f1878b31acedb0271fcf964b4952114.tar.gz
samba-dc278f2d8f1878b31acedb0271fcf964b4952114.tar.bz2
samba-dc278f2d8f1878b31acedb0271fcf964b4952114.zip
r23932: Fill extended status with information in case the validation traverse
functions did not do so but returned an error. (This is the case when error occurred deeper than at the level of the content checking done by the per entry validate_fn.) Michael (This used to be commit e56be59947a29d0a5692f3f3bc6c089dd8b4b5d9)
Diffstat (limited to 'source3')
-rw-r--r--source3/lib/util_tdb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/lib/util_tdb.c b/source3/lib/util_tdb.c
index 7bba22f4bc..2fa915131b 100644
--- a/source3/lib/util_tdb.c
+++ b/source3/lib/util_tdb.c
@@ -1021,7 +1021,11 @@ static int tdb_validate_child(const char *tdb_path,
/* Now traverse the tdb to validate it. */
num_entries = tdb_traverse(tdb, validate_fn, (void *)&v_status);
- if (num_entries == -1 || !(v_status.success)) {
+ if (!v_status.success) {
+ goto out;
+ } else if (num_entries == -1) {
+ v_status.tdb_error = True;
+ v_status.success = False;
goto out;
}