From: Mark Andrews Date: Mon, 9 Dec 2024 03:45:38 +0000 (+1100) Subject: Fix parsing of unknown directives in resolv.conf X-Git-Tag: v9.21.4~38^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb78ad20803b28f1a5ede52115ad6bd73cfeb843;p=thirdparty%2Fbind9.git Fix parsing of unknown directives in resolv.conf Only call eatline() to skip to the next line if we're not already at the end of a line when parsing an unknown directive. We were accidentally skipping the next line when there was only a single unknown directive on the current line. --- diff --git a/lib/dns/resconf.c b/lib/dns/resconf.c index 47e8e4e6635..d1d660e60a3 100644 --- a/lib/dns/resconf.c +++ b/lib/dns/resconf.c @@ -585,9 +585,11 @@ irs_resconf_load(isc_mem_t *mctx, const char *filename, irs_resconf_t **confp) { } else { /* unrecognised word. Ignore entire line */ rval = ISC_R_SUCCESS; - stopchar = eatline(fp); - if (stopchar == EOF) { - break; + if (stopchar != '\n') { + stopchar = eatline(fp); + if (stopchar == EOF) { + break; + } } } if (ret == ISC_R_SUCCESS && rval != ISC_R_SUCCESS) {