dpward / rpms / sssd

Forked from rpms/sssd 3 years ago
Clone
Blob Blame History Raw
From 02a5b8945863755e8708b6a11954c1f398680e01 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose@redhat.com>
Date: Thu, 2 Jun 2016 21:01:11 +0200
Subject: [PATCH 118/118] libwbclient: wbcSidsToUnixIds() don't fail on errors

Resolves: https://fedorahosted.org/sssd/ticket/3028

Reviewed-by: Alexander Bokovoy <abokovoy@redhat.com>
(cherry picked from commit 52f1093ef3d7c44132ec10c57436865b2cbb19d7)
(cherry picked from commit 15ad5f603a5797c61a01f67365c2581c7bddcdfa)
---
 src/sss_client/libwbclient/wbc_idmap_sssd.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/sss_client/libwbclient/wbc_idmap_sssd.c b/src/sss_client/libwbclient/wbc_idmap_sssd.c
index 1b0e2e10a5ce1a0c7577d391b740ff988f920903..6b5f525f0433c948e4d570d177dc6cffd82eff40 100644
--- a/src/sss_client/libwbclient/wbc_idmap_sssd.c
+++ b/src/sss_client/libwbclient/wbc_idmap_sssd.c
@@ -172,15 +172,14 @@ wbcErr wbcSidsToUnixIds(const struct wbcDomainSid *sids, uint32_t num_sids,
     wbcErr wbc_status;
 
     for (c = 0; c < num_sids; c++) {
+        type = SSS_ID_TYPE_NOT_SPECIFIED;
         wbc_status = wbcSidToString(&sids[c], &sid_str);
-        if (!WBC_ERROR_IS_OK(wbc_status)) {
-            return wbc_status;
-        }
-
-        ret = sss_nss_getidbysid(sid_str, &id, &type);
-        wbcFreeMemory(sid_str);
-        if (ret != 0) {
-            return WBC_ERR_UNKNOWN_FAILURE;
+        if (WBC_ERROR_IS_OK(wbc_status)) {
+            ret = sss_nss_getidbysid(sid_str, &id, &type);
+            wbcFreeMemory(sid_str);
+            if (ret != 0) {
+                type = SSS_ID_TYPE_NOT_SPECIFIED;
+            }
         }
 
         switch (type) {
-- 
2.4.11