]> git.proxmox.com Git - libtpms.git/commitdiff
tpm2: Get return value into rc
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Tue, 27 Mar 2018 22:04:34 +0000 (18:04 -0400)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Fri, 15 Jun 2018 22:07:48 +0000 (18:07 -0400)
In one case we missed to assign the return value for rc.
In another case check rc value before doing operation.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
src/tpm2/NVMarshal.c

index 2d767eb51b25e59875f7e17f20486ee9abba66f2..3e8caaaea8afb40b3bf1bb673f666ba5e0b7204d 100644 (file)
@@ -270,7 +270,7 @@ UINT32_Unmarshal_Check(UINT32 *data, UINT32 exp, BYTE **buffer, INT32 *size,
     TPM_RC rc = TPM_RC_SUCCESS;
 
     if (rc == TPM_RC_SUCCESS) {
-        UINT32_Unmarshal(data, buffer, size);
+        rc = UINT32_Unmarshal(data, buffer, size);
     }
     if (rc == TPM_RC_SUCCESS && exp != *data) {
         TPMLIB_LogTPM2Error("%s: Expected value: 0x%08x, found: 0x%08x\n",
@@ -1414,6 +1414,8 @@ bn_prime_t_Unmarshal(bn_prime_t *data, BYTE **buffer, INT32 *size)
 
     if (rc == TPM_RC_SUCCESS) {
         rc = UINT16_Unmarshal(&numbytes, buffer, size);
+    }
+    if (rc == TPM_RC_SUCCESS) {
         data->size = (numbytes + sizeof(crypt_uword_t) - 1) / sizeof(crypt_word_t);
         if (data->size > data->allocated) {
             TPMLIB_LogTPM2Error("bn_prime_t: Require size larger %u than allocated %u\n",