From 369ccd68ca228e777877818377ee7e92878ba7fa Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 12 Nov 2013 15:00:03 +1100 Subject: [PATCH] 3670. [bug] Address read after free in server side of lwres_getrrsetbyname. [RT #29075] (cherry picked from commit eb5e0b8dec22de22dd824959e39b26c4f5b1c52d) --- CHANGES | 3 +++ bin/named/lwdgrbn.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) 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: