From: Martin Schwenke Date: Mon, 17 Feb 2020 05:20:25 +0000 (+1100) Subject: ctdb-daemon: Check for lock count underflow X-Git-Tag: ldb-2.1.1~77 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c9405aec703a9bb90236ddcb860301339a59fee6;p=thirdparty%2Fsamba.git ctdb-daemon: Check for lock count underflow This is a programming error. Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c index 5f032ae568b..478447d76f8 100644 --- a/ctdb/server/ctdb_lock.c +++ b/ctdb/server/ctdb_lock.c @@ -198,6 +198,9 @@ static int ctdb_lock_context_destructor(struct lock_context *lock_ctx) } else { DLIST_REMOVE(lock_ctx->ctdb->lock_current, lock_ctx); } + if (lock_ctx->ctdb_db->lock_num_current == 0) { + ctdb_fatal(NULL, "Lock count is 0 before decrement\n"); + } lock_ctx->ctdb_db->lock_num_current--; CTDB_DECREMENT_STAT(lock_ctx->ctdb, locks.num_current); CTDB_DECREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_current);