Blame SOURCES/0167-pam_sss-Fix-checking-of-empty-string-cert_user.patch

bb7cd1
From 1ac8b82addfa0a4c94321d5cb72b7991755e61f8 Mon Sep 17 00:00:00 2001
bb7cd1
From: Lukas Slebodnik <lslebodn@redhat.com>
bb7cd1
Date: Fri, 2 Jun 2017 11:56:55 +0200
bb7cd1
Subject: [PATCH 167/169] pam_sss: Fix checking of empty string cert_user
bb7cd1
MIME-Version: 1.0
bb7cd1
Content-Type: text/plain; charset=UTF-8
bb7cd1
Content-Transfer-Encoding: 8bit
bb7cd1
bb7cd1
src/sss_client/pam_sss.c: In function ‘eval_response’:
bb7cd1
src/sss_client/pam_sss.c:998:64: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
bb7cd1
                 if (type == SSS_PAM_CERT_INFO && pi->cert_user == '\0') {
bb7cd1
                                                                ^~
bb7cd1
src/sss_client/pam_sss.c:998:50: note: did you mean to dereference the pointer?
bb7cd1
                 if (type == SSS_PAM_CERT_INFO && pi->cert_user == '\0') {
bb7cd1
                                                  ^
bb7cd1
src/sss_client/pam_sss.c:1010:42: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
bb7cd1
                         && pi->cert_user != '\0') {
bb7cd1
                                          ^~
bb7cd1
src/sss_client/pam_sss.c:1010:28: note: did you mean to dereference the pointer?
bb7cd1
                         && pi->cert_user != '\0') {
bb7cd1
bb7cd1
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
bb7cd1
(cherry picked from commit c62dc2ac02253e130991db0f6acd60ce1a2753f1)
bb7cd1
---
bb7cd1
 src/sss_client/pam_sss.c | 4 ++--
bb7cd1
 1 file changed, 2 insertions(+), 2 deletions(-)
bb7cd1
bb7cd1
diff --git a/src/sss_client/pam_sss.c b/src/sss_client/pam_sss.c
bb7cd1
index 1c06079967e3d9076d537c3de8aba93e13f76d09..9732459e6fb7ce01c9445c423cf0a583ca36e036 100644
bb7cd1
--- a/src/sss_client/pam_sss.c
bb7cd1
+++ b/src/sss_client/pam_sss.c
bb7cd1
@@ -995,7 +995,7 @@ static int eval_response(pam_handle_t *pamh, size_t buflen, uint8_t *buf,
bb7cd1
                     break;
bb7cd1
                 }
bb7cd1
 
bb7cd1
-                if (type == SSS_PAM_CERT_INFO && pi->cert_user == '\0') {
bb7cd1
+                if (type == SSS_PAM_CERT_INFO && *pi->cert_user == '\0') {
bb7cd1
                     D(("Invalid CERT message"));
bb7cd1
                     break;
bb7cd1
                 }
bb7cd1
@@ -1007,7 +1007,7 @@ static int eval_response(pam_handle_t *pamh, size_t buflen, uint8_t *buf,
bb7cd1
                 }
bb7cd1
 
bb7cd1
                 if ((pi->pam_user == NULL || *(pi->pam_user) == '\0')
bb7cd1
-                        && pi->cert_user != '\0') {
bb7cd1
+                        && *pi->cert_user != '\0') {
bb7cd1
                     ret = pam_set_item(pamh, PAM_USER, pi->cert_user);
bb7cd1
                     if (ret != PAM_SUCCESS) {
bb7cd1
                         D(("Failed to set PAM_USER during "
bb7cd1
-- 
bb7cd1
2.9.4
bb7cd1