summaryrefslogtreecommitdiff
path: root/source3/lib/util_tdb.c
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/lib/util_tdb.c
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/lib/util_tdb.c')
-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;
}