* Correctly return CKR_PIN_INCORRECT if PIN is out of range.
* By Alon Bar-Lev from svn diff -r 3397:3398 https://www.opensc-project.org/svn/opensc/branches/alonbl/pkcs11-login-rv git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3400 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
5a04a103fb
commit
04942bb4f6
|
@ -905,10 +905,15 @@ static CK_RV pkcs15_login(struct sc_pkcs11_card *p11card,
|
||||||
* a valid pin (which is processed normally). --okir */
|
* a valid pin (which is processed normally). --okir */
|
||||||
if (ulPinLen == 0)
|
if (ulPinLen == 0)
|
||||||
pPin = NULL;
|
pPin = NULL;
|
||||||
} else
|
} else {
|
||||||
if (ulPinLen < pin->min_length ||
|
/*
|
||||||
ulPinLen > pin->max_length)
|
* If PIN is out of range,
|
||||||
return CKR_ARGUMENTS_BAD;
|
* it cannot be correct.
|
||||||
|
*/
|
||||||
|
if (ulPinLen < pin->min_length ||
|
||||||
|
ulPinLen > pin->max_length)
|
||||||
|
return CKR_PIN_INCORRECT;
|
||||||
|
}
|
||||||
|
|
||||||
/* By default, we make the reader resource manager keep other
|
/* By default, we make the reader resource manager keep other
|
||||||
* processes from accessing the card while we're logged in.
|
* processes from accessing the card while we're logged in.
|
||||||
|
|
Loading…
Reference in New Issue