diff --git a/lib/hdb/ext.c b/lib/hdb/ext.c index 531ffb4d2..ec52d35dc 100644 --- a/lib/hdb/ext.c +++ b/lib/hdb/ext.c @@ -169,9 +169,11 @@ hdb_clear_extension(krb5_context context, if (entry->extensions == NULL) return 0; - for (i = 0; i < entry->extensions->len; i++) { + for (i = 0; i < entry->extensions->len; ) { if (entry->extensions->val[i].data.element == (unsigned)type) (void) remove_HDB_extensions(entry->extensions, i); + else + i++; } if (entry->extensions->len == 0) { free(entry->extensions->val);