]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/worker: work around a rare crash obs-knot-resolver-bs4hbr/deployments/1887
authorVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 12 Oct 2021 07:52:16 +0000 (09:52 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 12 Oct 2021 07:52:16 +0000 (09:52 +0200)
So far we have no idea how it can happen, but in this (rare) case
it seems fine to keep the process running.

daemon/worker.c

index 792d7578a024aa422801ec542b24f80ca052d8db..fc91c712f5f4551b60a8068e5bba681e9e70618a 100644 (file)
@@ -621,7 +621,7 @@ int qr_task_on_send(struct qr_task *task, const uv_handle_t *handle, int status)
                        return status;
                // start the timer
                struct kr_query *qry = array_tail(task->ctx->req.rplan.pending);
-               if (kr_fails_assert(qry))
+               if (kr_fails_assert(qry && task->transport))
                        return status;
                size_t timeout = task->transport->timeout;
                int ret = session_timer_start(s, on_udp_timeout, timeout, 0);