[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v1] stubdom/vtpm: fix memcmp in TPM_ChangeAuthAsymFinish



gcc8 spotted this error:
error: 'memcmp' reading 20 bytes from a region of size 8 
[-Werror=stringop-overflow=]

Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
---
 stubdom/Makefile                            |  1 +
 stubdom/vtpm_TPM_ChangeAuthAsymFinish.patch | 12 ++++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 stubdom/vtpm_TPM_ChangeAuthAsymFinish.patch

diff --git a/stubdom/Makefile b/stubdom/Makefile
index cad672f59d..d39d16786b 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -230,6 +230,7 @@ tpm_emulator-$(XEN_TARGET_ARCH): 
tpm_emulator-$(TPMEMU_VERSION).tar.gz
        patch -d $@ -p1 < vtpm-cmake-Wextra.patch
        patch -d $@ -p1 < vtpm-implicit-fallthrough.patch
        patch -d $@ -p1 < vtpm-cmake_glob_sort.patch
+       patch -d $@ -p1 < vtpm_TPM_ChangeAuthAsymFinish.patch
        mkdir $@/build
        cd $@/build; CC=${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 
-DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) 
-Wno-declaration-after-statement"
        touch $@
diff --git a/stubdom/vtpm_TPM_ChangeAuthAsymFinish.patch 
b/stubdom/vtpm_TPM_ChangeAuthAsymFinish.patch
new file mode 100644
index 0000000000..10b89a4c3a
--- /dev/null
+++ b/stubdom/vtpm_TPM_ChangeAuthAsymFinish.patch
@@ -0,0 +1,12 @@
+error: 'memcmp' reading 20 bytes from a region of size 8 
[-Werror=stringop-overflow=]
+--- a/tpm/tpm_deprecated.c
++++ b/tpm/tpm_deprecated.c
+@@ -434,7 +434,7 @@ TPM_RESULT TPM_ChangeAuthAsymFinish(TPM_
+   tpm_hmac_final(&hmac_ctx, b1.digest);
+   /* 6. The TPM SHALL compare b1 with newAuthLink. The TPM SHALL
+         indicate a failure if the values do not match. */
+-  if (memcmp(&b1, &newAuthLink, sizeof(TPM_HMAC))) {
++  if (memcmp(&b1, newAuthLink, sizeof(TPM_HMAC))) {
+     debug("TPM_ChangeAuthAsymFinish(): newAuthLink value does not match.");
+     return TPM_FAIL;
+   }

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.