Blame SOURCES/opencryptoki-3.14.0-crash-in-c_setpin.patch

12eb4e
diff -up opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_openssl.c.me opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_openssl.c
12eb4e
--- opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_openssl.c.me	2020-05-26 08:51:32.714189399 -0400
12eb4e
+++ opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_openssl.c	2020-05-26 08:52:16.429412060 -0400
12eb4e
@@ -57,7 +57,7 @@ void openssl_print_errors()
12eb4e
 }
12eb4e
 #endif
12eb4e
 
12eb4e
-RSA *openssl_gen_key()
12eb4e
+RSA *openssl_gen_key(STDLL_TokData_t *tokdata)
12eb4e
 {
12eb4e
     RSA *rsa;
12eb4e
     int rc, counter = 0;
12eb4e
@@ -66,7 +66,7 @@ RSA *openssl_gen_key()
12eb4e
     BIGNUM *bne;
12eb4e
 #endif
12eb4e
 
12eb4e
-    token_specific_rng(NULL, (CK_BYTE *) buf, 32);
12eb4e
+    token_specific_rng(tokdata, (CK_BYTE *) buf, 32);
12eb4e
     RAND_seed(buf, 32);
12eb4e
 
12eb4e
 regen_rsa_key:
12eb4e
diff -up opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.c.me opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.c
12eb4e
--- opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.c.me	2020-05-26 08:52:26.351235628 -0400
12eb4e
+++ opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.c	2020-05-26 08:53:15.928354051 -0400
12eb4e
@@ -159,8 +159,6 @@ CK_RV token_specific_rng(STDLL_TokData_t
12eb4e
     TSS_HTPM hTPM;
12eb4e
     BYTE *random_bytes = NULL;
12eb4e
 
12eb4e
-    UNUSED(tokdata);
12eb4e
-
12eb4e
     rc = Tspi_Context_GetTpmObject(tpm_data->tspContext, &hTPM);
12eb4e
     if (rc) {
12eb4e
         TRACE_ERROR("Tspi_Context_GetTpmObject: %x\n", rc);
12eb4e
@@ -1389,7 +1387,7 @@ CK_RV token_create_private_tree(STDLL_To
12eb4e
     unsigned char n[256], p[256];
12eb4e
 
12eb4e
     /* all sw generated keys are 2048 bits */
12eb4e
-    if ((rsa = openssl_gen_key()) == NULL)
12eb4e
+    if ((rsa = openssl_gen_key(tokdata)) == NULL)
12eb4e
         return CKR_HOST_MEMORY;
12eb4e
 
12eb4e
     if (openssl_get_modulus_and_prime(rsa, &size_n, n, &size_p, p) != 0) {
12eb4e
@@ -1467,7 +1465,7 @@ CK_RV token_create_public_tree(STDLL_Tok
12eb4e
     unsigned char n[256], p[256];
12eb4e
 
12eb4e
     /* all sw generated keys are 2048 bits */
12eb4e
-    if ((rsa = openssl_gen_key()) == NULL)
12eb4e
+    if ((rsa = openssl_gen_key(tokdata)) == NULL)
12eb4e
         return CKR_HOST_MEMORY;
12eb4e
 
12eb4e
     if (openssl_get_modulus_and_prime(rsa, &size_n, n, &size_p, p) != 0) {
12eb4e
diff -up opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.h.me opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.h
12eb4e
--- opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.h.me	2020-05-26 08:53:20.281276648 -0400
12eb4e
+++ opencryptoki-3.14.0/usr/lib/tpm_stdll/tpm_specific.h	2020-05-26 08:54:08.356421779 -0400
12eb4e
@@ -56,7 +56,7 @@
12eb4e
 /* retry count for generating software RSA keys */
12eb4e
 #define KEYGEN_RETRY    5
12eb4e
 
12eb4e
-RSA *openssl_gen_key();
12eb4e
+RSA *openssl_gen_key(STDLL_TokData_t *);
12eb4e
 int openssl_write_key(STDLL_TokData_t *, RSA *, char *, CK_BYTE *);
12eb4e
 CK_RV openssl_read_key(STDLL_TokData_t *, char *, CK_BYTE *, RSA **);
12eb4e
 int openssl_get_modulus_and_prime(RSA *, unsigned int *, unsigned char *,