]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
357. [bug] The zone file parser crashed if the argument
authorAndreas Gustafsson <source@isc.org>
Wed, 2 Aug 2000 21:22:27 +0000 (21:22 +0000)
committerAndreas Gustafsson <source@isc.org>
Wed, 2 Aug 2000 21:22:27 +0000 (21:22 +0000)
                        to  was a quoted string.

CHANGES
lib/dns/master.c

diff --git a/CHANGES b/CHANGES
index ebb405f2c327ae8aa1c2404f916744bd22f492ad..3b9a58e2d3d4833ccaa0dbea7ed498c8965eb1d8 100644 (file)
--- 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.
 
index f4bd905674e85c347e854998d7b7a352c293b99c..ec0141eb7dfd802f3a11a1a44f58b62b6cf3c6c2 100644 (file)
@@ -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 <config.h>
 
@@ -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,