summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/winbindd/idmap_tdb2.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/source3/winbindd/idmap_tdb2.c b/source3/winbindd/idmap_tdb2.c
index cb5e9ec6d4..172922b85f 100644
--- a/source3/winbindd/idmap_tdb2.c
+++ b/source3/winbindd/idmap_tdb2.c
@@ -383,15 +383,18 @@ static TDB_DATA tdb2_fetch_bystring(TALLOC_CTX *mem_ctx, const char *keystr)
static NTSTATUS tdb2_store_bystring(const char *keystr, TDB_DATA data, int flags)
{
NTSTATUS ret;
- NTSTATUS status = idmap_tdb2_open_perm_db();
- if (!NT_STATUS_IS_OK(status)) {
- return NT_STATUS_UNSUCCESSFUL;
+
+ ret = idmap_tdb2_open_perm_db();
+ if (!NT_STATUS_IS_OK(ret)) {
+ return ret;
}
ret = dbwrap_store_bystring(idmap_tdb2_perm, keystr, data, flags);
if (!NT_STATUS_IS_OK(ret)) {
- ret = tdb_store_bystring(idmap_tdb2_tmp, keystr, data, flags) ? NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+ return ret;
}
- return ret;
+ return (tdb_store_bystring(idmap_tdb2_tmp, keystr, data, flags) == 0)
+ ? NT_STATUS_OK
+ : NT_STATUS_UNSUCCESSFUL;
}
/*