summaryrefslogtreecommitdiff
path: root/source3/lib/dbwrap_util.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2009-07-29 14:23:26 +0200
committerMichael Adam <obnox@samba.org>2009-07-29 16:26:22 +0200
commitde2846012b8b0ca24d342304d88819cab9f2cecf (patch)
treed148523c4740a8838c4aa156b78850e2f7bf6641 /source3/lib/dbwrap_util.c
parent80abb95ead3c51702bb459b9af9788b6960361f9 (diff)
downloadsamba-de2846012b8b0ca24d342304d88819cab9f2cecf.tar.gz
samba-de2846012b8b0ca24d342304d88819cab9f2cecf.tar.bz2
samba-de2846012b8b0ca24d342304d88819cab9f2cecf.zip
s3:dbwrap: don't leak in dbwrap_change_int32_atomic().
Michael
Diffstat (limited to 'source3/lib/dbwrap_util.c')
-rw-r--r--source3/lib/dbwrap_util.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/lib/dbwrap_util.c b/source3/lib/dbwrap_util.c
index b9b525a47b..1e3755af98 100644
--- a/source3/lib/dbwrap_util.c
+++ b/source3/lib/dbwrap_util.c
@@ -167,7 +167,8 @@ NTSTATUS dbwrap_change_int32_atomic(struct db_context *db, const char *keystr,
val = IVAL(rec->value.dptr, 0);
*oldval = val;
} else {
- return NT_STATUS_UNSUCCESSFUL;
+ ret = NT_STATUS_UNSUCCESSFUL;
+ goto done;
}
val += change_val;
@@ -177,8 +178,8 @@ NTSTATUS dbwrap_change_int32_atomic(struct db_context *db, const char *keystr,
ret = rec->store(rec, data, TDB_REPLACE);
+done:
TALLOC_FREE(rec);
-
return ret;
}