From: Mark Andrews Date: Thu, 17 Sep 2015 04:11:49 +0000 (+1000) Subject: 4211. [bug] Ensure that lwresd gets at least one task to work X-Git-Tag: v9.11.0a1~470 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=09177840c73c1edec0d085dd8d92f225ba371014;p=thirdparty%2Fbind9.git 4211. [bug] Ensure that lwresd gets at least one task to work with if enabled. [RT #40652] --- diff --git a/CHANGES b/CHANGES index 00e9c039aa3..edf9ef97974 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4211. [bug] Ensure that lwresd gets at least one task to work + with if enabled. [RT #40652] + 4210. [cleanup] Silence use after free false positive. [RT #40743] 4209. [bug] Address resource leaks in dlz modules. [RT #40654] diff --git a/bin/named/lwresd.c b/bin/named/lwresd.c index 17c003ba6ed..694affe2571 100644 --- a/bin/named/lwresd.c +++ b/bin/named/lwresd.c @@ -398,6 +398,9 @@ ns_lwdmanager_create(isc_mem_t *mctx, const cfg_obj_t *lwres, else lwresd->ntasks = ns_g_cpus; + if (lwresd->ntasks == 0) + lwresd->ntasks = 1; + obj = NULL; (void)cfg_map_get(lwres, "lwres-clients", &obj); if (obj != NULL) { @@ -638,7 +641,8 @@ listener_startclients(ns_lwreslistener_t *listener) { } /* - * Ensure that we have created at least one. + * If the list is empty return now with the previous + * ns_lwdclientmgr_create() result. */ if (ISC_LIST_EMPTY(listener->cmgrs)) return (result);