@@ -3411,12 +3411,12 @@ } free(identities); } -static unsigned long cackey_read_dod_identities(struct cackey_identity *identities, unsigned long id_idx, unsigned long num_dod_certs) { - unsigned long cert_idx; +static unsigned long cackey_read_dod_identities(struct cackey_identity *identities, unsigned long num_dod_certs) { + unsigned long cert_idx, id_idx = 0; for (cert_idx = 0; cert_idx < num_dod_certs; cert_idx++) { identities[id_idx].pcsc_identity = NULL; identities[id_idx].attributes = cackey_get_attributes(CKO_CERTIFICATE, &extra_certs[cert_idx], 0xf000 | cert_idx, &identities[id_idx].attributes_count); id_idx++; @@ -3470,11 +3470,11 @@ num_ids = num_dod_certs * 3; if (num_ids != 0) { identities = malloc(num_ids * sizeof(*identities)); - cackey_read_dod_identities(identities, 0, num_dod_certs); + cackey_read_dod_identities(identities, num_dod_certs); } else { identities = NULL; } *ids_found = num_ids; @@ -3510,11 +3510,11 @@ } if (include_extra_certs) { CACKEY_DEBUG_PRINTF("Including DoD Certificates on hardware slot"); - cackey_read_dod_identities(identities, id_idx, num_dod_certs); + cackey_read_dod_identities(identities + id_idx, num_dod_certs); } cackey_free_certs(pcsc_identities, num_certs, 1); *ids_found = num_ids;