From: Daniel Salzman Date: Mon, 8 Aug 2022 06:44:44 +0000 (+0200) Subject: keymgr: fix del-all-old, which skips some keys due to array reindexing X-Git-Tag: v3.3.dev~13^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfa8598d29f07eecc2afe830e6e10ac5510028c5;p=thirdparty%2Fknot-dns.git keymgr: fix del-all-old, which skips some keys due to array reindexing --- diff --git a/src/utils/keymgr/offline_ksk.c b/src/utils/keymgr/offline_ksk.c index ba6c432289..d355d67c9b 100644 --- a/src/utils/keymgr/offline_ksk.c +++ b/src/utils/keymgr/offline_ksk.c @@ -208,13 +208,15 @@ int keymgr_delete_offline_records(kdnssec_ctx_t *ctx, char *arg_from, char *arg_ int keymgr_del_all_old(kdnssec_ctx_t *ctx) { - for (size_t i = 0; i < ctx->zone->num_keys; i++) { + for (size_t i = 0; i < ctx->zone->num_keys; ) { knot_kasp_key_t *key = &ctx->zone->keys[i]; if (knot_time_cmp(key->timing.remove, ctx->now) < 0) { int ret = kdnssec_delete_key(ctx, key); if (ret != KNOT_EOK) { return ret; } + } else { + i++; } } return kdnssec_ctx_commit(ctx);