[xen master] stubdom/vtpm: fix memcmp in TPM_ChangeAuthAsymFinish

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen master] stubdom/vtpm: fix memcmp in TPM_ChangeAuthAsymFinish

patchbot
commit 22bf5be3237cb482a2ffd772ffd20ce37285eebf
Author:     Olaf Hering <[hidden email]>
AuthorDate: Mon Jun 18 14:55:36 2018 +0200
Commit:     Wei Liu <[hidden email]>
CommitDate: Tue Jun 26 12:42:24 2018 +0100

    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 <[hidden email]>
    Reviewed-by: Samuel Thibault <[hidden email]>
---
 stubdom/Makefile                            |  1 +
 stubdom/vtpm_TPM_ChangeAuthAsymFinish.patch | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 7cb62e6c36..34bd9e238b 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -229,6 +229,7 @@ tpm_emulator-$(XEN_TARGET_ARCH): tpm_emulator-$(TPMEMU_VERSION).tar.gz
  patch -d $@ -p1 < vtpm-deepquote-anyloc.patch
  patch -d $@ -p1 < vtpm-cmake-Wextra.patch
  patch -d $@ -p1 < vtpm-implicit-fallthrough.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;
+   }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog