summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-02-27 19:53:20 +0900
committerGitHub <noreply@github.com>2020-02-27 19:53:20 +0900
commit15db1f3d2ed09cf070bc6c0f6b974bba3f2ae2bf (patch)
tree00a927f4275e91f2642cb0c22cb0666c78b75e33
parente9b0b64f77fd5e870ee4c28064563f1e0071a4ff (diff)
parent443876d8dcf3a8cf9abbb04a23a288bf9fc3b7f0 (diff)
downloadsystemd-15db1f3d2ed09cf070bc6c0f6b974bba3f2ae2bf.tar.gz
Merge pull request #14953 from yuwata/userdb-fix-groupdb
userdb: make groupdb_all() always set iterator when it returns >= 0
-rw-r--r--src/shared/userdb.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/shared/userdb.c b/src/shared/userdb.c
index aa46874ed3..92f8796768 100644
--- a/src/shared/userdb.c
+++ b/src/shared/userdb.c
@@ -699,11 +699,9 @@ int userdb_all(UserDBFlags flags, UserDBIterator **ret) {
setpwent();
iterator->nss_iterating = true;
- goto finish;
} else if (r < 0)
return r;
-finish:
*ret = TAKE_PTR(iterator);
return 0;
}
@@ -905,15 +903,9 @@ int groupdb_all(UserDBFlags flags, UserDBIterator **ret) {
setgrent();
iterator->nss_iterating = true;
- goto finish;
- }
+ } if (r < 0)
+ return r;
- if (!FLAGS_SET(flags, USERDB_DONT_SYNTHESIZE))
- goto finish;
-
- return r;
-
-finish:
*ret = TAKE_PTR(iterator);
return 0;
}