Blame SOURCES/0041-Revert-CRYPTO-Suppress-warning-Wstringop-truncation.patch

cdf651
From 61227cf82d01ee42300ad7054bfd683536e15acb Mon Sep 17 00:00:00 2001
cdf651
From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@redhat.com>
cdf651
Date: Fri, 27 Jul 2018 11:37:20 +0200
cdf651
Subject: [PATCH] Revert "CRYPTO: Suppress warning Wstringop-truncation"
cdf651
cdf651
This reverts commit 2951a9a84bd85f384213a3e071ffc167907df2d7.
cdf651
cdf651
The original use stpncpy was correct. Changing it to memcpy
cdf651
changed the resulting hash. This resulted in users from
cdf651
local domain to not be able to authenticate (offline
cdf651
authentication was also probably broken) if their hash was
cdf651
created before this change.
cdf651
cdf651
https://pagure.io/SSSD/sssd/issue/3791
cdf651
cdf651
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
cdf651
cdf651
DOWNSTREAM:
cdf651
Resolves: rhbz#1602781 - Local users failed to login with same password
cdf651
after upgrading to RHEL7.6
cdf651
---
cdf651
 src/util/crypto/libcrypto/crypto_sha512crypt.c | 2 +-
cdf651
 src/util/crypto/nss/nss_sha512crypt.c          | 2 +-
cdf651
 2 files changed, 2 insertions(+), 2 deletions(-)
cdf651
cdf651
diff --git a/src/util/crypto/libcrypto/crypto_sha512crypt.c b/src/util/crypto/libcrypto/crypto_sha512crypt.c
cdf651
index 5861f34b9325f7552491a07e8b85fe35ca5ae607..b074eee555fafac6e486bfdf9efb9ddf4964a990 100644
cdf651
--- a/src/util/crypto/libcrypto/crypto_sha512crypt.c
cdf651
+++ b/src/util/crypto/libcrypto/crypto_sha512crypt.c
cdf651
@@ -277,7 +277,7 @@ static int sha512_crypt_r(const char *key,
cdf651
         goto done;
cdf651
     }
cdf651
 
cdf651
-    cp = memcpy(buffer, sha512_salt_prefix, SALT_PREF_SIZE);
cdf651
+    cp = stpncpy(buffer, sha512_salt_prefix, SALT_PREF_SIZE);
cdf651
     buflen -= SALT_PREF_SIZE;
cdf651
 
cdf651
     if (rounds_custom) {
cdf651
diff --git a/src/util/crypto/nss/nss_sha512crypt.c b/src/util/crypto/nss/nss_sha512crypt.c
cdf651
index 709cf51961bb7069ddebf3d636aa29b020756f0a..2f1624e6396c40f539a4e2034ab545cad8f05434 100644
cdf651
--- a/src/util/crypto/nss/nss_sha512crypt.c
cdf651
+++ b/src/util/crypto/nss/nss_sha512crypt.c
cdf651
@@ -267,7 +267,7 @@ static int sha512_crypt_r(const char *key,
cdf651
         goto done;
cdf651
     }
cdf651
 
cdf651
-    cp = memcpy(buffer, sha512_salt_prefix, SALT_PREF_SIZE);
cdf651
+    cp = stpncpy(buffer, sha512_salt_prefix, SALT_PREF_SIZE);
cdf651
     buflen -= SALT_PREF_SIZE;
cdf651
 
cdf651
     if (rounds_custom) {
cdf651
-- 
cdf651
2.14.4
cdf651