diff options
Diffstat (limited to 'usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c')
| -rw-r--r-- | usr/src/lib/pkcs11/pkcs11_kernel/common/kernelKeys.c | 15 |
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); } |
