From 06300de34e0a5d96b3f29db2d882e7dc51451149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Thu, 24 Apr 2025 12:47:45 +0300 Subject: [PATCH] =?UTF-8?q?mdbx:=20=D0=BF=D0=BE=D0=B4=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20coverity.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gc-put.c | 2 ++ src/rkl.c | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gc-put.c b/src/gc-put.c index bf6e159a..501fb118 100644 --- a/src/gc-put.c +++ b/src/gc-put.c @@ -1246,6 +1246,7 @@ static int gc_fill_returned(MDBX_txn *txn, gcu_t *ctx) { MDBX_PNL_SIZEOF(txn->wr.repnl)); return MDBX_RESULT_TRUE; } + /* coverity[var_deref_model] */ memcpy(data.iov_base, txn->wr.repnl, MDBX_PNL_SIZEOF(txn->wr.repnl)); pgno_t *const from = MDBX_PNL_BEGIN(txn->wr.repnl), *const to = MDBX_PNL_END(txn->wr.repnl); TRACE("%s: fill %zu [ %zu:%" PRIaPGNO "...%zu:%" PRIaPGNO "] @%" PRIaTXN " (%s)", dbg_prefix(ctx), @@ -1309,6 +1310,7 @@ static int gc_fill_returned(MDBX_txn *txn, gcu_t *ctx) { pgno_t *const dst = data.iov_base; pgno_t *const src = MDBX_PNL_BEGIN(txn->wr.repnl) + left - chunk; + /* coverity[var_deref_op] */ *dst = (pgno_t)chunk; memcpy(dst + 1, src, chunk * sizeof(pgno_t)); stored += chunk; diff --git a/src/rkl.c b/src/rkl.c index 685fdc10..1eebbf45 100644 --- a/src/rkl.c +++ b/src/rkl.c @@ -317,6 +317,7 @@ int rkl_push(rkl_t *rkl, const txnid_t id, const bool known_continuous) { + old_solid_len; /* количество элементов списка, которые нужно переместить для вставки еще-одного/следующего элемента */ const size_t new_insert_cost = rkl->list_length - i; + /* coverity[logical_vs_bitwise] */ if (unlikely(swap_cost < new_insert_cost) || MDBX_DEBUG) { /* Изымаемая последовательность длиннее добавляемой, поэтому: * - список станет короче;