From: Michał Kępień Date: Thu, 10 May 2018 07:43:38 +0000 (+0200) Subject: Use a while loop instead of a for loop in dns__zone_updatesigs() X-Git-Tag: v9.13.0~26^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ee14aa59402247c2726ac18c59f54d7636d9c3e;p=thirdparty%2Fbind9.git Use a while loop instead of a for loop in dns__zone_updatesigs() Replace the outer for loop with a while loop to emphasize it keeps processing the first element of diff->tuples, which changes on each iteration due to tuples being removed from diff->tuples by move_matching_tuples(). --- diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 0f63fccda1f..9274cd1d28f 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -7338,9 +7338,7 @@ dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, dns_difftuple_t *tuple; isc_result_t result; - for (tuple = ISC_LIST_HEAD(diff->tuples); - tuple != NULL; - tuple = ISC_LIST_HEAD(diff->tuples)) { + while ((tuple = ISC_LIST_HEAD(diff->tuples)) != NULL) { isc_stdtime_t exp = expire; if (keyexpire != 0 &&