diff options
Diffstat (limited to 'lib/softoken/pkcs11.c')
-rw-r--r-- | lib/softoken/pkcs11.c | 9 |
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)); |