From: Andreas Gustafsson Date: Wed, 2 Aug 2000 21:22:27 +0000 (+0000) Subject: 357. [bug] The zone file parser crashed if the argument X-Git-Tag: v9.0.0rc2~25 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=80a51f55040b308d3dc16df707fa00b2fcb88640;p=thirdparty%2Fbind9.git 357. [bug] The zone file parser crashed if the argument to was a quoted string. --- diff --git a/CHANGES b/CHANGES index ebb405f2c32..3b9a58e2d3d 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,9 @@ 359. [bug] dnssec-signzone occasionally signed glue records. + 357. [bug] The zone file parser crashed if the argument + to $INCLUDE was a quoted string. + 354. [doc] Man pages for the dnssec tools are now included in the distribution, in doc/man/dnssec. diff --git a/lib/dns/master.c b/lib/dns/master.c index f4bd905674e..ec0141eb7df 100644 --- a/lib/dns/master.c +++ b/lib/dns/master.c @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: master.c,v 1.54.2.3 2000/07/10 19:17:35 gson Exp $ */ +/* $Id: master.c,v 1.54.2.4 2000/08/02 21:22:27 gson Exp $ */ #include @@ -120,6 +120,8 @@ on_list(dns_rdatalist_t *this, dns_rdata_t *rdata); default: \ goto error_cleanup; \ } \ + if ((token)->type == isc_tokentype_special) \ + goto error_cleanup; \ } while (0) #define WARNUNEXPECTEDEOF(lexer) \ @@ -335,7 +337,8 @@ load(isc_lex_t *lex, dns_name_t *top, dns_name_t *origin, isc_lex_getsourceline(lex)); goto cleanup; } - GETTOKEN(lex, 0, &token, ISC_FALSE); + GETTOKEN(lex, ISC_LEXOPT_QSTRING, &token, + ISC_FALSE); if (include_file != NULL) isc_mem_free(mctx, include_file); include_file = isc_mem_strdup(mctx,