Nils Larsch:

here is a patch to remove a bug in card-starcos.c and two warnings:

card-starcos.c: fix apdu.le value
pkcs15-pin.c: remove unused labels => avoid compiler warnings
pkcs11-tool.c : remove memory leak (a RSA_free() was missing)
	and simplify code (+ remove warning).


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1072 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
aj 2003-04-25 10:03:09 +00:00
parent fecf9f5e15
commit 07668a30ff
3 changed files with 5 additions and 9 deletions

View File

@ -320,7 +320,7 @@ static int starcos_select_fid(struct sc_card *card,
sc_format_apdu(card, &apdu, SC_APDU_CASE_4_SHORT, 0xA4, 0x00, 0x00);
apdu.resp = (u8*)resp;
apdu.resplen = SC_MAX_APDU_BUFFER_SIZE;
apdu.le = 0;
apdu.le = 256;
apdu.lc = 2;
apdu.data = (u8*)data;
apdu.datalen = 2;

View File

@ -267,7 +267,7 @@ int sc_pkcs15_change_pin(struct sc_pkcs15_card *p15card,
memset(pinbuf, pin->pad_char, pin->max_length * 2);
memcpy(pinbuf, oldpin, oldpinlen);
memcpy(pinbuf + pin->max_length, newpin, newpinlen);
change_pin:
r = sc_change_reference_data(card, SC_AC_CHV, pin->reference, pinbuf,
pin->max_length, pinbuf+pin->max_length,
pin->max_length, &pin->tries_left);
@ -309,7 +309,7 @@ int sc_pkcs15_unblock_pin(struct sc_pkcs15_card *p15card,
sc_unlock(card);
return r;
}
unblock_pin:
r = sc_reset_retry_counter (card, SC_AC_CHV, pin->reference,
puk, puklen, newpin, newpinlen);
sc_unlock(card);

View File

@ -1116,7 +1116,6 @@ EVP_PKEY *get_public_key(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE privKeyObje
CK_OBJECT_HANDLE pubkeyObject;
unsigned char *pubkey, *pubkey_sav;
CK_ULONG pubkeyLen;
RSA *rsa;
EVP_PKEY *pkey;
id = NULL;
@ -1140,18 +1139,15 @@ EVP_PKEY *get_public_key(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE privKeyObje
}
pubkey_sav = pubkey; /* The function below may change pubkey */
rsa = d2i_RSAPublicKey(NULL, &pubkey, pubkeyLen);
pkey = d2i_PublicKey(EVP_PKEY_RSA, NULL, &pubkey, pubkeyLen);
free(pubkey_sav);
if (rsa == NULL) {
if (pkey == NULL) {
printf(" couldn't parse pubkey, no verification done\n");
/* ERR_print_errors_fp(stderr); */
return NULL;
}
pkey = EVP_PKEY_new();
EVP_PKEY_set1_RSA(pkey, rsa);
return pkey;
}
#endif