Check FindObjectFinal call for error

This commit is contained in:
Sean Parkinson
2019-02-12 09:07:14 +10:00
parent e86aae00ed
commit 66ab6d8c22

View File

@ -650,7 +650,9 @@ static int Pkcs11FindKeyById(CK_OBJECT_HANDLE* key, CK_OBJECT_CLASS keyClass,
rv = session->func->C_FindObjects(session->handle, key, 1, &count); rv = session->func->C_FindObjects(session->handle, key, 1, &count);
if (rv != CKR_OK) if (rv != CKR_OK)
ret = WC_HW_E; ret = WC_HW_E;
session->func->C_FindObjectsFinal(session->handle); rv = session->func->C_FindObjectsFinal(session->handle);
if (rv != CKR_OK)
ret = WC_HW_E;
} }
if (ret == 0 && count == 0) if (ret == 0 && count == 0)
ret = WC_HW_E; ret = WC_HW_E;
@ -696,7 +698,9 @@ static int Pkcs11FindRsaKey(CK_OBJECT_HANDLE* key, CK_OBJECT_CLASS keyClass,
rv = session->func->C_FindObjects(session->handle, key, 1, &count); rv = session->func->C_FindObjects(session->handle, key, 1, &count);
if (rv != CKR_OK) if (rv != CKR_OK)
ret = WC_HW_E; ret = WC_HW_E;
session->func->C_FindObjectsFinal(session->handle); rv = session->func->C_FindObjectsFinal(session->handle);
if (rv != CKR_OK)
ret = WC_HW_E;
} }
return ret; return ret;
@ -1095,7 +1099,9 @@ static int Pkcs11FindEccKey(CK_OBJECT_HANDLE* key, CK_OBJECT_CLASS keyClass,
rv = session->func->C_FindObjects(session->handle, key, 1, &count); rv = session->func->C_FindObjects(session->handle, key, 1, &count);
if (rv != CKR_OK) if (rv != CKR_OK)
ret = WC_HW_E; ret = WC_HW_E;
session->func->C_FindObjectsFinal(session->handle); rv = session->func->C_FindObjectsFinal(session->handle);
if (rv != CKR_OK)
ret = WC_HW_E;
} }
if (ecPoint != NULL) if (ecPoint != NULL)