Allocating memory for modulus and exponent 19/48419/1
authorRitu Sood <ritu.sood@intel.com>
Tue, 22 May 2018 14:17:11 +0000 (14:17 +0000)
committerRitu Sood <ritu.sood@intel.com>
Tue, 22 May 2018 14:18:52 +0000 (14:18 +0000)
SoftHsm expects memory to be allocated by
the plugin

Issue-ID: AAF-260
Change-Id: I4ef93918a91971680f1f46517a46a29717a096b2
Signed-off-by: Ritu Sood <ritu.sood@intel.com>
TPM2-Plugin/lib/tpm2_plugin_api.c

index 356ce7b..b949e48 100644 (file)
@@ -384,11 +384,18 @@ int read_public(TSS2_SYS_CONTEXT *sapi_context,
 
     importkey_info->modulus_size = public.t.publicArea.unique.rsa.t.size;
     printf("importkey_info->modulus_size = %ld \n", importkey_info->modulus_size);
-    memcpy(importkey_info->modulus, &public.t.publicArea.unique.rsa.t.buffer, importkey_info->modulus_size);
+    importkey_info->modulus = (unsigned char *) malloc(importkey_info->modulus_size);
+    if (importkey_info->modulus != NULL) {
+        memcpy(importkey_info->modulus, &public.t.publicArea.unique.rsa.t.buffer, importkey_info->modulus_size);
+    }
 
     importkey_info->exponent_size = sizeof(public.t.publicArea.parameters.rsaDetail.exponent);
     printf("importkey_info->exponent_size = %ld \n", importkey_info->exponent_size);
-    memcpy(importkey_info->exponent, &public.t.publicArea.parameters.rsaDetail.exponent, importkey_info->exponent_size);
+    importkey_info->exponent = (unsigned char *) malloc(importkey_info->exponent_size);
+    if (importkey_info->exponent != NULL) {
+        memcpy(importkey_info->exponent, &public.t.publicArea.parameters.rsaDetail.exponent, importkey_info->exponent_size);
+    }
+
     //*importkey_info->exponent = public.t.publicArea.parameters.rsaDetail.exponent;
 
     return 0;