diff --git a/CHANGES b/CHANGES index 7deb52d8286ea8d645c3ff4bdeae698c232d7a1c..8dff7c385af42c01d955bf312aff76226c901f0f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +2182. [bug] dns_dispatch_createtcp() and dispatch_createudp() + could return ISC_R_SUCCESS when they ran out of + memory. [RT #16365] + 2181. [port] sunos: libbind: add paths.h from BIND 8. [RT #16462] 2180. [cleanup] Remove bit test from 'compress_test' as they diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 8e3e55912ff28f43227da67e293a0b913d08c4e0..56acb725a2ebf8a01b2b37a5391d6a1e68066e06 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dispatch.c,v 1.131 2007/02/13 02:49:08 marka Exp $ */ +/* $Id: dispatch.c,v 1.132 2007/05/18 05:30:23 marka Exp $ */ /*! \file */ @@ -1643,8 +1643,10 @@ dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, isc_socket_t *sock, DNS_EVENT_DISPATCHCONTROL, destroy_disp, disp, sizeof(isc_event_t)); - if (disp->ctlevent == NULL) + if (disp->ctlevent == NULL) { + result = ISC_R_NOMEMORY; goto kill_task; + } isc_task_setname(disp->task, "tcpdispatch", disp); @@ -1850,8 +1852,10 @@ dispatch_createudp(dns_dispatchmgr_t *mgr, isc_socketmgr_t *sockmgr, DNS_EVENT_DISPATCHCONTROL, destroy_disp, disp, sizeof(isc_event_t)); - if (disp->ctlevent == NULL) + if (disp->ctlevent == NULL) { + result = ISC_R_NOMEMORY; goto kill_task; + } isc_task_setname(disp->task, "udpdispatch", disp);