diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2015-12-17 13:13:09 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2015-12-17 13:23:43 +0200 |
commit | f928d00f38cc8a43f31506fadf868ba72ca93b4d (patch) | |
tree | 4f11bdf3e0bf6f69b44cc7595c2c49f71afc41be /ident/pam.c | |
parent | 8334b598f85317eb4d44000f6ec580c54734b15d (diff) | |
download | pies-f928d00f38cc8a43f31506fadf868ba72ca93b4d.tar.gz pies-f928d00f38cc8a43f31506fadf868ba72ca93b4d.tar.bz2 |
Improve is_group_member functions.
* ident/pam.c: Use is_array_member as intended.
* ident/system.c: Likewise.
Diffstat (limited to 'ident/pam.c')
-rw-r--r-- | ident/pam.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/ident/pam.c b/ident/pam.c index ef32c4d..b7b9ef4 100644 --- a/ident/pam.c +++ b/ident/pam.c @@ -161,19 +161,10 @@ is_group_member (pies_identity_provider_t p, int result = 0; setgrent (); - while ((gr = getgrent ())) + while (!result && (gr = getgrent ())) { - char **p; - - if (!is_array_member (groups, gr->gr_name)) - continue; - - for (p = gr->gr_mem; *p; p++) - if (strcmp (*p, id->username) == 0) - { - result = 1; - break; - } + if (is_array_member (groups, gr->gr_name)) + result = is_array_member (gr->gr_mem, id->username); } endgrent (); return result; |