commit:     b220ce5e246cfee6691af027c86045a9d1fffe21
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  9 08:14:32 2018 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Sun Sep  9 08:15:58 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b220ce5e

app-crypt/tpm-emulator: fix incorrect memcpy

Closes: https://bugs.gentoo.org/show_bug.cgi?id=664198
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 .../files/tpm-emulator-0.7.4-build.patch           | 31 ++++++++++++++++++++++
 .../tpm-emulator/tpm-emulator-0.7.4-r1.ebuild      |  4 +++
 2 files changed, 35 insertions(+)

diff --git a/app-crypt/tpm-emulator/files/tpm-emulator-0.7.4-build.patch 
b/app-crypt/tpm-emulator/files/tpm-emulator-0.7.4-build.patch
new file mode 100644
index 00000000000..7a299a15fbf
--- /dev/null
+++ b/app-crypt/tpm-emulator/files/tpm-emulator-0.7.4-build.patch
@@ -0,0 +1,31 @@
+From ca99fe81c8aee204c1a8b7f3ca264130e54d9418 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <[email protected]>
+Date: Sat, 1 Sep 2018 21:32:07 +0300
+Subject: [PATCH] tpm: tpm_deprecated.c fix compare
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+tpm/tpm_deprecated.c:437:7: error: ‘__builtin_memcmp_eq’ reading 20 bytes from 
a region of size 8 [-Werror=stringop-overflow=]
+   if (memcmp(&b1, &newAuthLink, sizeof(TPM_HMAC))) {
+       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+cc1: all warnings being treated as errors
+
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=664198
+---
+ tpm/tpm_deprecated.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tpm/tpm_deprecated.c b/tpm/tpm_deprecated.c
+index c362b56..4c49f54 100644
+--- a/tpm/tpm_deprecated.c
++++ b/tpm/tpm_deprecated.c
+@@ -434,7 +434,7 @@ TPM_RESULT TPM_ChangeAuthAsymFinish(TPM_KEY_HANDLE 
parentHandle,
+   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;
+   }

diff --git a/app-crypt/tpm-emulator/tpm-emulator-0.7.4-r1.ebuild 
b/app-crypt/tpm-emulator/tpm-emulator-0.7.4-r1.ebuild
index 0192de92e2f..6fc770390fc 100644
--- a/app-crypt/tpm-emulator/tpm-emulator-0.7.4-r1.ebuild
+++ b/app-crypt/tpm-emulator/tpm-emulator-0.7.4-r1.ebuild
@@ -24,6 +24,10 @@ DEPEND="${RDEPEND}
 
 S=${WORKDIR}/${P/-/_}
 
+PATCHES=(
+       "${FILESDIR}/${P}-build.patch"
+)
+
 pkg_setup() {
        enewgroup tss
        enewuser tss -1 -1 /var/lib/tpm tss

Reply via email to