summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/test/crypto-tests/tests/common/cryptotest_pkcs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr/src/test/crypto-tests/tests/common/cryptotest_pkcs.c b/usr/src/test/crypto-tests/tests/common/cryptotest_pkcs.c
index e28d00e759..eed7454382 100644
--- a/usr/src/test/crypto-tests/tests/common/cryptotest_pkcs.c
+++ b/usr/src/test/crypto-tests/tests/common/cryptotest_pkcs.c
@@ -67,6 +67,7 @@ cryptotest_init(cryptotest_t *arg, crypto_func_group_t fg)
op->mechname = arg->mechname;
op->hsession = CK_INVALID_HANDLE;
+ op->keyt = CK_INVALID_HANDLE;
op->fg = fg;
if (op->out == NULL)
@@ -88,7 +89,9 @@ cryptotest_close_session(CK_SESSION_HANDLE hsession)
int
cryptotest_close(crypto_op_t *op)
{
- (void) C_DestroyObject(op->hsession, op->keyt);
+ if (op->keyt != CK_INVALID_HANDLE)
+ (void) C_DestroyObject(op->hsession, op->keyt);
+
if (op->hsession != CK_INVALID_HANDLE)
(void) cryptotest_close_session(op->hsession);
free(op);