git.samba.org
/
amitay
/
samba.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
db45433
)
r14029: Fix resource leak in error codepath. Coverity CID #64.
author
Jeremy Allison
<jra@samba.org>
Wed, 8 Mar 2006 07:20:10 +0000
(07:20 +0000)
committer
Gerald (Jerry) Carter
<jerry@samba.org>
Wed, 10 Oct 2007 18:52:37 +0000
(13:52 -0500)
Jeremy.
(This used to be commit
d2e9d5b34baee90060ee9131b3da903309625a56
)
source4/lib/tdb/common/traverse.c
patch
|
blob
|
history
diff --git
a/source4/lib/tdb/common/traverse.c
b/source4/lib/tdb/common/traverse.c
index dc1060c6d0d34c1fba1bf59e8db0ddf2b56ef229..4792af112202f3b7ae8b6b03d076760258c581ee 100644
(file)
--- a/
source4/lib/tdb/common/traverse.c
+++ b/
source4/lib/tdb/common/traverse.c
@@
-289,10
+289,14
@@
TDB_DATA tdb_nextkey(struct tdb_context *tdb, TDB_DATA oldkey)
rec.key_len))
|| memcmp(k, oldkey.dptr, oldkey.dsize) != 0) {
/* No, it wasn't: unlock it and start from scratch */
- if (tdb_unlock_record(tdb, tdb->travlocks.off) != 0)
+ if (tdb_unlock_record(tdb, tdb->travlocks.off) != 0) {
+ SAFE_FREE(k);
return tdb_null;
- if (tdb_unlock(tdb, tdb->travlocks.hash, F_WRLCK) != 0)
+ }
+ if (tdb_unlock(tdb, tdb->travlocks.hash, F_WRLCK) != 0) {
+ SAFE_FREE(k);
return tdb_null;
+ }
tdb->travlocks.off = 0;
}