From 006acb032c15e45e54f2d2f27bb8235e2d544fc9 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 30 Oct 2012 13:00:58 +1100 Subject: [PATCH] more: 3410. [bug] Addressed Coverity warnings. [RT #31626] move set_refreshkeytimer call within loop so that keydata is valid. --- lib/dns/zone.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/dns/zone.c b/lib/dns/zone.c index e408e1f72f..1d45406d38 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -2788,6 +2788,8 @@ create_keydata(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADD, dst_key_name(key), 0, &rdata)); *changed = ISC_TRUE; + /* Refresh new keys from the zone apex as soon as possible. */ + set_refreshkeytimer(zone, &keydata, now); skip: result = dns_keytable_nextkeynode(keytable, keynode, &nextnode); @@ -2797,10 +2799,6 @@ create_keydata(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, } } - /* Refresh new keys from the zone apex as soon as possible. */ - if (*changed) - set_refreshkeytimer(zone, &keydata, now); - if (keynode != NULL) dns_keytable_detachkeynode(keytable, &keynode); *keynodep = NULL;