diff --git a/CHANGES b/CHANGES index 896d0b9651..3c85a2cea9 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2651. [bug] Dates could print incorrectly in K*.key files on + 64-bit systems. [RT #20076] + 2650. [bug] Assertion failure in dnssec-signzone when trying to read keyset-* files. [RT #20075] diff --git a/lib/dns/dst_api.c b/lib/dns/dst_api.c index 00221e0552..232fba7c0f 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.25 2009/07/29 23:45:24 each Exp $ + * $Id: dst_api.c,v 1.26 2009/08/14 06:28:40 each Exp $ */ /*! \file */ @@ -1138,14 +1138,17 @@ issymmetric(const dst_key_t *key) { static void printtime(const dst_key_t *key, int type, const char *tag, FILE *stream) { isc_result_t result; - isc_stdtime_t when; const char *output; + isc_stdtime_t when; + time_t t; result = dst_key_gettime(key, type, &when); if (result == ISC_R_NOTFOUND) return; - output = ctime((time_t *) &when); + /* time_t and isc_stdtime_t might be different sizes */ + t = when; + output = ctime(&t); fprintf(stream, "%s: %s", tag, output); }