r value is already checked on line 113 (#1582)

This commit is contained in:
Raul Metsma 2019-01-24 14:15:13 +02:00 committed by Frank Morgner
parent f161c3a178
commit 70d690ace7
1 changed files with 25 additions and 26 deletions

View File

@ -109,34 +109,33 @@ sc_pkcs15emu_esteid_init (sc_pkcs15_card_t * p15card)
r = sc_pkcs15emu_add_x509_cert(p15card, &cert_obj, &cert_info); r = sc_pkcs15emu_add_x509_cert(p15card, &cert_obj, &cert_info);
if (r < 0) if (r < 0)
return SC_ERROR_INTERNAL; return SC_ERROR_INTERNAL;
if (i == 0) { if (i != 0)
sc_pkcs15_cert_t *cert = NULL; continue;
r = sc_pkcs15_read_certificate(p15card, &cert_info, &cert);
if (r < 0) sc_pkcs15_cert_t *cert = NULL;
return SC_ERROR_INTERNAL; r = sc_pkcs15_read_certificate(p15card, &cert_info, &cert);
if (cert->key->algorithm == SC_ALGORITHM_EC) if (r < 0)
field_length = cert->key->u.ec.params.field_length; return SC_ERROR_INTERNAL;
else if (cert->key->algorithm == SC_ALGORITHM_EC)
modulus_length = cert->key->u.rsa.modulus.len * 8; field_length = cert->key->u.ec.params.field_length;
if (r == SC_SUCCESS) { else
static const struct sc_object_id cn_oid = {{ 2, 5, 4, 3, -1 }}; modulus_length = cert->key->u.rsa.modulus.len * 8;
u8 *cn_name = NULL; static const struct sc_object_id cn_oid = {{ 2, 5, 4, 3, -1 }};
size_t cn_len = 0; u8 *cn_name = NULL;
sc_pkcs15_get_name_from_dn(card->ctx, cert->subject, size_t cn_len = 0;
cert->subject_len, &cn_oid, &cn_name, &cn_len); sc_pkcs15_get_name_from_dn(card->ctx, cert->subject,
if (cn_len > 0) { cert->subject_len, &cn_oid, &cn_name, &cn_len);
char *token_name = malloc(cn_len+1); if (cn_len > 0) {
if (token_name) { char *token_name = malloc(cn_len+1);
memcpy(token_name, cn_name, cn_len); if (token_name) {
token_name[cn_len] = '\0'; memcpy(token_name, cn_name, cn_len);
set_string(&p15card->tokeninfo->label, (const char*)token_name); token_name[cn_len] = '\0';
free(token_name); set_string(&p15card->tokeninfo->label, (const char*)token_name);
} free(token_name);
}
free(cn_name);
sc_pkcs15_free_certificate(cert);
} }
} }
free(cn_name);
sc_pkcs15_free_certificate(cert);
} }
/* the file with key pin info (tries left) */ /* the file with key pin info (tries left) */