diff --git a/bin/lwresd/client.c b/bin/lwresd/client.c index 837bd239fe..306eea9c4c 100644 --- a/bin/lwresd/client.c +++ b/bin/lwresd/client.c @@ -150,11 +150,12 @@ client_recv(isc_task_t *task, isc_event_t *ev) */ client->recvlength = dev->n; client->address = dev->address; + isc_event_free(&ev); + dev = NULL; + client_start_recv(cm); process_request(client); - - isc_event_free(&ev); } /* diff --git a/bin/lwresd/process_gabn.c b/bin/lwresd/process_gabn.c index c2ef2dcc6f..f36f0dce61 100644 --- a/bin/lwresd/process_gabn.c +++ b/bin/lwresd/process_gabn.c @@ -165,7 +165,7 @@ process_gabn(client_t *client, lwres_buffer_t *b) result = lwres_gabnrequest_parse(client->clientmgr->lwctx, b, &client->pkt, &req); - if (result != ISC_R_SUCCESS) + if (result != LWRES_R_SUCCESS) goto out; isc_buffer_init(&namebuf, req->name, req->namelen, @@ -181,8 +181,6 @@ process_gabn(client_t *client, lwres_buffer_t *b) client->find_pending = 0; client->find_wanted = req->addrtypes; - goto out; - if ((req->addrtypes & LWRES_ADDRTYPE_V4) != 0) { result = start_v4find(client); if (result != ISC_R_SUCCESS)