diff --git a/ykcs11/ykcs11.c b/ykcs11/ykcs11.c index f698670..3ce91a9 100644 --- a/ykcs11/ykcs11.c +++ b/ykcs11/ykcs11.c @@ -1695,7 +1695,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_SignInit)( CK_KEY_TYPE type = 0; CK_ULONG key_len = 0; CK_BYTE exp[3]; - CK_BYTE buf[1024]; + CK_BYTE buf[1024] = {0}; CK_ATTRIBUTE template[] = { {CKA_KEY_TYPE, &type, sizeof(type)}, {CKA_MODULUS_BITS, &key_len, sizeof(key_len)}, @@ -1863,12 +1863,6 @@ CK_DEFINE_FUNCTION(CK_RV, C_Sign)( goto sign_out; } - if (op_info.type != YKCS11_SIGN) { - DBG("Operation not initialized"); - rv = CKR_OPERATION_NOT_INITIALIZED; - goto sign_out; - } - if (session.info.state == CKS_RO_PUBLIC_SESSION || session.info.state == CKS_RW_PUBLIC_SESSION) { DBG("User is not logged in"); @@ -1974,8 +1968,6 @@ CK_DEFINE_FUNCTION(CK_RV, C_Sign)( memcpy(pSignature, op_info.buf, *pulSignatureLen); - op_info.type = YKCS11_NOOP; - rv = CKR_OK; sign_out: