summaryrefslogtreecommitdiff
path: root/lib/softoken/pkcs11.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/softoken/pkcs11.c')
-rw-r--r--lib/softoken/pkcs11.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/softoken/pkcs11.c b/lib/softoken/pkcs11.c
index b713254b1..7a5996f06 100644
--- a/lib/softoken/pkcs11.c
+++ b/lib/softoken/pkcs11.c
@@ -2285,14 +2285,19 @@ sftk_PutPubKey(SFTKObject *publicKey, SFTKObject *privateKey, CK_KEY_TYPE keyTyp
default:
return CKR_KEY_TYPE_INCONSISTENT;
}
+ if (crv != CKR_OK) {
+ return crv;
+ }
crv = sftk_AddAttributeType(publicKey, CKA_CLASS, &classType,
sizeof(CK_OBJECT_CLASS));
- if (crv != CKR_OK)
+ if (crv != CKR_OK) {
return crv;
+ }
crv = sftk_AddAttributeType(publicKey, CKA_KEY_TYPE, &keyType,
sizeof(CK_KEY_TYPE));
- if (crv != CKR_OK)
+ if (crv != CKR_OK) {
return crv;
+ }
/* now handle the operator attributes */
if (sftk_isTrue(privateKey, CKA_DECRYPT)) {
crv = sftk_forceAttribute(publicKey, CKA_ENCRYPT, &cktrue, sizeof(CK_BBOOL));