struct session *session = ret->data;
struct sockaddr *peer = session_get_peer(session);
kr_assert(peer->sa_family == AF_UNSPEC && session_flags(session)->outgoing);
+ kr_require(addr->sa_family == AF_INET || addr->sa_family == AF_INET6);
memcpy(peer, addr, kr_sockaddr_len(addr));
if (qr_task_send(task, session, (struct sockaddr *)choice,
task->pktbuf) != 0) {
{
if (kr_fails_assert(z_import)) return;
kr_svldr_free_ctx(z_import->svldr);
+
+ /* Free `z_import`'s pool, including `z_import` itself, because it is
+ * allocated inside said pool. */
mm_ctx_delete(z_import->pool);
}
static void timer_close(uv_handle_t *handle)