Skip to content

Commit 06351f1

Browse files
committed
Only get PKCS11_OBJECT references for private keys
1 parent 56f80c3 commit 06351f1

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/p11_key.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,8 @@ EVP_PKEY *pkcs11_get_key(PKCS11_OBJECT_private *key0, CK_OBJECT_CLASS object_cla
481481
EVP_PKEY_free(ret);
482482
goto err;
483483
}
484-
pkcs11_object_ref(key);
484+
if (key->object_class == CKO_PRIVATE_KEY)
485+
pkcs11_object_ref(key);
485486
break;
486487
case EVP_PKEY_EC:
487488
#if OPENSSL_VERSION_NUMBER < 0x30000000L || defined(LIBRESSL_VERSION_NUMBER)
@@ -498,7 +499,8 @@ EVP_PKEY *pkcs11_get_key(PKCS11_OBJECT_private *key0, CK_OBJECT_CLASS object_cla
498499
EVP_PKEY_free(ret);
499500
goto err;
500501
}
501-
pkcs11_object_ref(key);
502+
if (key->object_class == CKO_PRIVATE_KEY)
503+
pkcs11_object_ref(key);
502504
#else
503505
ret = EVP_PKEY_dup(key->evp_key);
504506
#endif

0 commit comments

Comments
 (0)