- Fixed a couple of memory leaks

- Fixed a bug in decoding EF(TokenInfo)


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@344 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
jey 2002-03-19 10:04:11 +00:00
parent e630a05dd5
commit 3fa7a056f1
4 changed files with 6 additions and 2 deletions

View File

@ -51,6 +51,7 @@ static const struct sc_card_driver setcos_drv = {
static int setcos_finish(struct sc_card *card)
{
free(DRVDATA(card));
return 0;
}

View File

@ -297,6 +297,8 @@ static void sc_card_free(struct sc_card *card)
free(card->app[i]->ddo);
free(card->app[i]);
}
if (card->ef_dir != NULL)
sc_file_free(card->ef_dir);
free(card->ops);
if (card->algorithms != NULL)
free(card->algorithms);

View File

@ -273,6 +273,7 @@ void sc_pkcs15_free_certificate(struct sc_pkcs15_cert *cert)
free(cert->key.data);
free(cert->key.modulus);
free(cert->issuer);
free(cert->serial);
free(cert->data);
free(cert);
}

View File

@ -108,13 +108,13 @@ static void parse_tokeninfo(struct sc_pkcs15_card *card, const u8 * buf, size_t
strcat(card->serial_number, byte);
}
if (card->manufacturer_id == NULL) {
if (asn1_tokeninfo[2].flags & SC_ASN1_PRESENT)
if (asn1_toki[2].flags & SC_ASN1_PRESENT)
card->manufacturer_id = strdup((char *) mnfid);
else
card->manufacturer_id = strdup("(unknown)");
}
if (card->label == NULL) {
if (asn1_tokeninfo[3].flags & SC_ASN1_PRESENT)
if (asn1_toki[3].flags & SC_ASN1_PRESENT)
card->label = strdup((char *) label);
else
card->label = strdup("(unknown)");