From: Tatuya JINMEI 神明達哉 Date: Thu, 3 Sep 2009 21:45:46 +0000 (+0000) Subject: added workaround for a recent change thatview->secroots is not created X-Git-Tag: v9.7.0a3~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0984eeca5b41a8678def4433bd6de51888ce0b04;p=thirdparty%2Fbind9.git added workaround for a recent change thatview->secroots is not created with view. [RT #20209] --- diff --git a/lib/dns/client.c b/lib/dns/client.c index 0990e219ba0..3124cf4642a 100644 --- a/lib/dns/client.c +++ b/lib/dns/client.c @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.4 2009/09/02 23:48:02 tbox Exp $ */ +/* $Id: client.c,v 1.5 2009/09/03 21:45:46 jinmei Exp $ */ #include @@ -307,7 +307,19 @@ dns_client_createview(isc_mem_t *mctx, dns_rdataclass_t rdclass, result = dns_view_create(mctx, rdclass, DNS_CLIENTVIEW_NAME, &view); if (result != ISC_R_SUCCESS) - return (ISC_R_NOMEMORY); + return (result); + + /* + * Workaround for a recent change in dns_view_create(): proactively + * create view->secroots if it's not created with view creation. + */ + if (view->secroots == NULL) { + result = dns_keytable_create(mctx, &view->secroots); + if (result != ISC_R_SUCCESS) { + dns_view_detach(&view); + return (result); + } + } result = dns_view_createresolver(view, taskmgr, ntasks, socketmgr, timermgr, 0, dispatchmgr,