Fix [4911]

git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4929 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
martin 2010-12-08 08:56:12 +00:00
parent 559e4f3dc4
commit 5f1b3a2288
1 changed files with 3 additions and 6 deletions

View File

@ -118,7 +118,6 @@ sc_pkcs15emu_esteid_init (sc_pkcs15_card_t * p15card)
r = sc_pkcs15_read_certificate(p15card, &cert_info, &cert); r = sc_pkcs15_read_certificate(p15card, &cert_info, &cert);
if (r == SC_SUCCESS) { if (r == SC_SUCCESS) {
mem = BIO_new_mem_buf(cert->data, cert->data_len); mem = BIO_new_mem_buf(cert->data, cert->data_len);
sc_pkcs15_free_certificate(cert);
if (!mem) if (!mem)
return SC_ERROR_INTERNAL; return SC_ERROR_INTERNAL;
x509 = d2i_X509_bio(mem, NULL); x509 = d2i_X509_bio(mem, NULL);
@ -130,14 +129,12 @@ sc_pkcs15emu_esteid_init (sc_pkcs15_card_t * p15card)
X509_NAME_ENTRY *ne; X509_NAME_ENTRY *ne;
ASN1_STRING *a_str; ASN1_STRING *a_str;
ne = X509_NAME_get_entry(X509_get_subject_name(x509), r); ne = X509_NAME_get_entry(X509_get_subject_name(x509), r);
if (!ne) if (!ne) {
{
X509_free(x509); X509_free(x509);
return SC_ERROR_INTERNAL; return SC_ERROR_INTERNAL;
} }
a_str = X509_NAME_ENTRY_get_data(ne); a_str = X509_NAME_ENTRY_get_data(ne);
if (!a_str) if (!a_str) {
{
X509_free(x509); X509_free(x509);
return SC_ERROR_INTERNAL; return SC_ERROR_INTERNAL;
} }
@ -147,7 +144,7 @@ sc_pkcs15emu_esteid_init (sc_pkcs15_card_t * p15card)
r = sizeof(cardholder_name) -1; r = sizeof(cardholder_name) -1;
memcpy(cardholder_name, tmp, r); memcpy(cardholder_name, tmp, r);
cardholder_name[r] = '\0'; cardholder_name[r] = '\0';
set_string (&p15card->tokeninfo->label, cardholder_name); set_string(&p15card->tokeninfo->label, cardholder_name);
OPENSSL_free(tmp); OPENSSL_free(tmp);
} }
} }