From 0646b6c312471e8cc04331c40628a10abea28862 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 24 Apr 2025 10:10:44 +0200 Subject: [PATCH] daemon/session2_tasklist_del(): be more defensive I don't expect we still have a bug here, but even so - if this assertion fails, I don't think we need to force a crash. A recoverable assertion seems a better choice here. --- daemon/session2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/daemon/session2.c b/daemon/session2.c index 22c6674a9..2a1fe6881 100644 --- a/daemon/session2.c +++ b/daemon/session2.c @@ -1046,7 +1046,8 @@ int session2_tasklist_del(struct session2 *session, struct qr_task *task) } int ret = trie_del(t, key, key_len, &val); if (ret == KNOT_EOK) { - kr_require(val == task); + if (kr_fails_assert(val == task)) // internal inconsistency in tasklist + return kr_error(EINVAL); worker_task_unref(val); } return ret; -- 2.47.3