diff --git a/CHANGES b/CHANGES index 5437e7c62f..7023e0c3c8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3670. [bug] Address read after free in server side of + lwres_getrrsetbyname. [RT #29075] + 3669. [port] freebsd: --with-gssapi needs -lhx509. [RT #35001] 3668. [bug] Fix cast in lex.c which could see 0xff treated as eof. diff --git a/bin/named/lwdgrbn.c b/bin/named/lwdgrbn.c index 5c858cbeda..47649e0153 100644 --- a/bin/named/lwdgrbn.c +++ b/bin/named/lwdgrbn.c @@ -324,9 +324,6 @@ lookup_done(isc_task_t *task, isc_event_t *event) { (grbn->nsigs == 1) ? "" : "s"); } - dns_lookup_destroy(&client->lookup); - isc_event_free(&event); - /* * Render the packet. */ @@ -362,6 +359,9 @@ lookup_done(isc_task_t *task, isc_event_t *event) { NS_LWDCLIENT_SETSEND(client); + dns_lookup_destroy(&client->lookup); + isc_event_free(&event); + return; out: