From: Evan Hunt Date: Wed, 29 Jul 2009 23:45:24 +0000 (+0000) Subject: 2642. [bug] nsupdate could dump core on solaris when reading X-Git-Tag: v9.7.0a2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3288b425ae88f415d2d8209769d140b5d952fb3;p=thirdparty%2Fbind9.git 2642. [bug] nsupdate could dump core on solaris when reading improperly formatted key files. [RT #20015] --- diff --git a/CHANGES b/CHANGES index d9852e1dd27..04bb7d7718e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,8 @@ --- 9.7.0a2 released --- +2642. [bug] nsupdate could dump core on solaris when reading + improperly formatted key files. [RT #20015] + 2641. [bug] Fixed an error in parsing update-policy syntax, added a regression test to check it. [RT #20007] diff --git a/lib/dns/dst_api.c b/lib/dns/dst_api.c index 31b08806735..00221e05524 100644 --- a/lib/dns/dst_api.c +++ b/lib/dns/dst_api.c @@ -31,7 +31,7 @@ /* * Principal Author: Brian Wellington - * $Id: dst_api.c,v 1.24 2009/07/19 23:47:55 tbox Exp $ + * $Id: dst_api.c,v 1.25 2009/07/29 23:45:24 each Exp $ */ /*! \file */ @@ -1052,6 +1052,9 @@ dst_key_read_public(const char *filename, int type, /* Read the next word: either TTL, class, or 'KEY' */ NEXTTOKEN(lex, opt, &token); + if (token.type != isc_tokentype_string) + BADTOKEN(); + /* If it's a TTL, read the next one */ result = dns_ttl_fromtext(&token.value.as_textregion, &ttl); if (result == ISC_R_SUCCESS)