mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
[NSS] Prevent slotLock race in NSC_GetTokenInfo
Basically, NSC_GetTokenInfo doesn't lock slot->slotLock before accessing slot after obtaining it, even though slotLock is defined as its lock.
This commit is contained in:
parent
0442dd4ee5
commit
0e23c7cc48
1 changed files with 4 additions and 2 deletions
|
|
@ -3511,10 +3511,12 @@ NSC_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)
|
|||
PORT_Memcpy(pInfo->model, "NSS 3 ", 16);
|
||||
PORT_Memcpy(pInfo->serialNumber, "0000000000000000", 16);
|
||||
PORT_Memcpy(pInfo->utcTime, "0000000000000000", 16);
|
||||
pInfo->ulMaxSessionCount = 0; /* arbitrarily large */
|
||||
pInfo->ulMaxSessionCount = 0; /* arbitrarily large */
|
||||
pInfo->ulMaxRwSessionCount = 0; /* arbitrarily large */
|
||||
PZ_Lock(slot->slotLock); /* Protect sessionCount / rwSessioncount */
|
||||
pInfo->ulSessionCount = slot->sessionCount;
|
||||
pInfo->ulMaxRwSessionCount = 0; /* arbitarily large */
|
||||
pInfo->ulRwSessionCount = slot->rwSessionCount;
|
||||
PZ_Unlock(slot->slotLock); /* Unlock before sftk_getKeyDB */
|
||||
pInfo->firmwareVersion.major = 0;
|
||||
pInfo->firmwareVersion.minor = 0;
|
||||
PORT_Memcpy(pInfo->label, slot->tokDescription, sizeof(pInfo->label));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue