From: Vladimír Čunát Date: Thu, 24 Apr 2025 08:10:44 +0000 (+0200) Subject: daemon/session2_tasklist_del(): be more defensive X-Git-Tag: v6.0.12~1^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0646b6c312471e8cc04331c40628a10abea28862;p=thirdparty%2Fknot-resolver.git 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. --- 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;