From c6943b2331a3d2a1cf4affcdae4795a946e72239 Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Tue, 18 Jun 2013 15:42:02 +0200 Subject: [PATCH] PAC: do not expect that sysdb_search_object_by_sid() return ENOENT sysdb_search_object_by_sid() does not return ENOENT if no related object was found in the cache but EOK and an empty result list. Fixes https://fedorahosted.org/sssd/ticket/1989 --- src/responder/pac/pacsrv_cmd.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/responder/pac/pacsrv_cmd.c b/src/responder/pac/pacsrv_cmd.c index 3edf035..479a094 100644 --- a/src/responder/pac/pacsrv_cmd.c +++ b/src/responder/pac/pacsrv_cmd.c @@ -288,16 +288,16 @@ static void pac_lookup_sids_done(struct tevent_req *req) ret = sysdb_search_object_by_sid(pr_ctx, dom->sysdb, dom, entries[c].key.str, NULL, &msg); if (ret != EOK) { - if (ret == ENOENT) { - DEBUG(SSSDBG_OP_FAILURE, ("No entry found for SID [%s].\n", - entries[c].key.str)); - } else { - DEBUG(SSSDBG_OP_FAILURE, ("sysdb_search_object_by_sid " \ - "failed.\n")); - } + DEBUG(SSSDBG_OP_FAILURE, ("sysdb_search_object_by_sid " \ + "failed.\n")); continue; } - if (msg->count > 1) { + + if (msg->count == 0) { + DEBUG(SSSDBG_OP_FAILURE, ("No entry found for SID [%s].\n", + entries[c].key.str)); + continue; + } else if (msg->count > 1) { DEBUG(SSSDBG_CRIT_FAILURE, ("More then one result returned " \ "for SID [%s].\n", entries[c].key.str)); -- 1.7.7.6