summaryrefslogtreecommitdiff
path: root/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c')
-rw-r--r--usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c b/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c
index 530b3fd8a4..52de5fc359 100644
--- a/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c
+++ b/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c
@@ -21,6 +21,7 @@
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2018, Joyent, Inc.
*/
#include <strings.h>
@@ -343,21 +344,15 @@ key_gen_by_value(CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate,
}
new_objp->is_lib_obj = B_TRUE;
new_objp->session_handle = (CK_SESSION_HANDLE)session_p;
- (void) free(newTemplate);
- bzero(key_buf, key_len);
- (void) free(key_buf);
+ free(newTemplate);
+ freezero(key_buf, key_len);
return (CKR_OK);
failed_exit:
free_attributes(obj_ngk.ngk_in_attributes, &obj_ngk.ngk_in_count);
free_attributes(obj_ngk.ngk_out_attributes, &obj_ngk.ngk_out_count);
- if (key_buf != NULL) {
- bzero(key_buf, key_len);
- (void) free(key_buf);
- }
- if (newTemplate != NULL) {
- (void) free(newTemplate);
- }
+ freezero(key_buf, key_len);
+ free(newTemplate);
return (rv);
}