From 1078eb21c49d707ddeef2257353f35c10d131b9f Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 20 Jun 2011 18:40:31 +0930 Subject: [PATCH] tdb_delete: check returns for 0, not -1. TDB2 returns a negative error number on failure. This is compatible if we always check for != 0 instead of == -1. Signed-off-by: Rusty Russell --- lib/util/util_tdb.h | 2 +- source3/lib/gencache.c | 6 +++--- source3/libsmb/smb_share_modes.c | 4 ++-- source3/winbindd/winbindd_cache.c | 2 +- source4/ntvfs/posix/xattr_tdb.c | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/util/util_tdb.h b/lib/util/util_tdb.h index c563f0d4b65..92b88bacb4b 100644 --- a/lib/util/util_tdb.h +++ b/lib/util/util_tdb.h @@ -111,7 +111,7 @@ int tdb_store_bystring(struct tdb_context *tdb, const char *keystr, TDB_DATA dat TDB_DATA tdb_fetch_bystring(struct tdb_context *tdb, const char *keystr); /**************************************************************************** - Delete an entry using a null terminated string key. + Delete an entry using a null terminated string key. 0 on success, -ve on err. ****************************************************************************/ int tdb_delete_bystring(struct tdb_context *tdb, const char *keystr); diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c index 5e154728297..5c9c1a296af 100644 --- a/source3/lib/gencache.c +++ b/source3/lib/gencache.c @@ -548,7 +548,7 @@ static int stabilize_fn(struct tdb_context *tdb, TDB_DATA key, TDB_DATA val, } if ((timeout < time(NULL)) || (val.dsize == 0)) { res = tdb_delete(cache, key); - if ((res == -1) && (tdb_error(cache) == TDB_ERR_NOEXIST)) { + if ((res != 0) && (tdb_error(cache) == TDB_ERR_NOEXIST)) { res = 0; } else { state->written = true; @@ -560,14 +560,14 @@ static int stabilize_fn(struct tdb_context *tdb, TDB_DATA key, TDB_DATA val, } } - if (res == -1) { + if (res != 0) { DEBUG(10, ("Transfer to gencache.tdb failed: %s\n", tdb_errorstr(cache))); state->error = true; return -1; } - if (tdb_delete(cache_notrans, key) == -1) { + if (tdb_delete(cache_notrans, key) != 0) { DEBUG(10, ("tdb_delete from gencache_notrans.tdb failed: " "%s\n", tdb_errorstr(cache_notrans))); state->error = true; diff --git a/source3/libsmb/smb_share_modes.c b/source3/libsmb/smb_share_modes.c index 2bf430dfea5..4477da6a19c 100644 --- a/source3/libsmb/smb_share_modes.c +++ b/source3/libsmb/smb_share_modes.c @@ -450,7 +450,7 @@ int smb_delete_share_mode_entry(struct smbdb_ctx *db_ctx, } /* It's ours - just remove the entire record. */ free(db_data.dptr); - return tdb_delete(db_ctx->smb_tdb, locking_key); + return tdb_delete(db_ctx->smb_tdb, locking_key) ? -1 : 0; } /* More than one - allocate a new record minus the one we'll delete. */ @@ -489,7 +489,7 @@ int smb_delete_share_mode_entry(struct smbdb_ctx *db_ctx, /* None left after pruning. Delete record. */ free(db_data.dptr); free(new_data_p); - return tdb_delete(db_ctx->smb_tdb, locking_key); + return tdb_delete(db_ctx->smb_tdb, locking_key) ? -1 : 0; } /* Copy any delete tokens plus the terminating filenames. */ diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index daea4e866a6..c45aabc9026 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -4420,7 +4420,7 @@ static bool wcache_tdc_store_list( struct winbindd_tdc_domain *domains, size_t n SAFE_FREE( data.dptr ); SAFE_FREE( key.dptr ); - return ( ret != -1 ); + return ( ret == 0 ); } /********************************************************************* diff --git a/source4/ntvfs/posix/xattr_tdb.c b/source4/ntvfs/posix/xattr_tdb.c index c325561562d..44aced9beed 100644 --- a/source4/ntvfs/posix/xattr_tdb.c +++ b/source4/ntvfs/posix/xattr_tdb.c @@ -218,7 +218,7 @@ NTSTATUS delete_xattr_tdb(struct pvfs_state *pvfs, const char *attr_name, return status; } - if (tdb_delete(pvfs->ea_db->tdb, tkey) == -1) { + if (tdb_delete(pvfs->ea_db->tdb, tkey) != 0) { talloc_free(tkey.dptr); return NT_STATUS_INTERNAL_DB_CORRUPTION; } -- 2.34.1