diff options
author | Simo Sorce <idra@samba.org> | 2006-03-01 20:06:34 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:52:11 -0500 |
commit | 1113d4caa7bea1a7ffb9a50f42c5672bc1d452b4 (patch) | |
tree | 03543796fdfab18dbfefa872a461edb5fddd6cfc /source/lib/tdb/common/traverse.c | |
parent | 551dd12baf9340ab070c8a8edca6b56770243a61 (diff) | |
download | samba-1113d4caa7bea1a7ffb9a50f42c5672bc1d452b4.tar.gz |
r13773: Be consistent in the way you get out and free allocated data
Diffstat (limited to 'source/lib/tdb/common/traverse.c')
-rw-r--r-- | source/lib/tdb/common/traverse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/lib/tdb/common/traverse.c b/source/lib/tdb/common/traverse.c index 00fe5be923b..dc1060c6d0d 100644 --- a/source/lib/tdb/common/traverse.c +++ b/source/lib/tdb/common/traverse.c @@ -173,6 +173,7 @@ static int tdb_traverse_internal(struct tdb_context *tdb, /* Drop chain lock, call out */ if (tdb_unlock(tdb, tl->hash, tl->lock_rw) != 0) { ret = -1; + SAFE_FREE(key.dptr); goto out; } if (fn && fn(tdb, key, dbuf, private)) { @@ -182,9 +183,8 @@ static int tdb_traverse_internal(struct tdb_context *tdb, TDB_LOG((tdb, 0, "tdb_traverse: unlock_record failed!\n"));; ret = -1; } - tdb->travlocks.next = tl->next; SAFE_FREE(key.dptr); - return count; + goto out; } SAFE_FREE(key.dptr); } |