summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2016-08-30 15:37:43 +0200
committerLukas Slebodnik <lslebodn@redhat.com>2016-08-31 09:19:45 +0200
commitb969ccc2cc58fdf761e5d314de9217f2d914bc9b (patch)
tree92a26d8c89175ab55be57b22cb49bae420dadf73
parent5b0735876aa66464b24cb7736a74fafd8ec82128 (diff)
downloadsssd-b969ccc2cc58fdf761e5d314de9217f2d914bc9b.tar.gz
sssd-b969ccc2cc58fdf761e5d314de9217f2d914bc9b.tar.xz
sssd-b969ccc2cc58fdf761e5d314de9217f2d914bc9b.zip
SYSDB: Fix error handling in sysdb_get_user_members_recursively
We ignored failures from sysdb_search_entry Reviewed-by: Petr Čech <pcech@redhat.com>
-rw-r--r--src/db/sysdb_ops.c3
-rw-r--r--src/db/sysdb_views.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 44fb5b70e..e4c8e1e28 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -4738,6 +4738,9 @@ errno_t sysdb_get_user_members_recursively(TALLOC_CTX *mem_ctx,
ret = sysdb_search_entry(tmp_ctx, dom->sysdb, base_dn, LDB_SCOPE_SUBTREE,
filter, attrs, &count, &msgs);
+ if (ret != EOK) {
+ goto done;
+ }
res = talloc_zero(tmp_ctx, struct ldb_result);
if (res == NULL) {
diff --git a/src/db/sysdb_views.c b/src/db/sysdb_views.c
index 79f513d13..9dc48f5b6 100644
--- a/src/db/sysdb_views.c
+++ b/src/db/sysdb_views.c
@@ -1374,7 +1374,10 @@ errno_t sysdb_add_group_member_overrides(struct sss_domain_info *domain,
ret = sysdb_get_user_members_recursively(tmp_ctx, domain, obj->dn,
&res_members);
- if (ret != EOK) {
+ if (ret == ENOENT) {
+ ret = EOK;
+ goto done;
+ } else if (ret != EOK) {
DEBUG(SSSDBG_OP_FAILURE,
"sysdb_get_user_members_recursively failed.\n");
goto done;