diff options
author | holyfoot <holyfoot@mariadb.com> | 2016-06-24 18:08:13 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-24 18:08:13 +0400 |
commit | 305bbbce6152b0909937659ecba4d51e5b21c094 (patch) | |
tree | 9bf77839e8c9ae621c8f5427e73ece25781a4f5a | |
parent | 6f6692008617d789b581971541dd9a1377c8dc5c (diff) | |
parent | 626a62e5cce546b3ae2845c0cc3e05498b9451f6 (diff) | |
download | mariadb-git-305bbbce6152b0909937659ecba4d51e5b21c094.tar.gz |
Merge pull request #183 from mweigel/10.1-MDEV-10214
MDEV-10214: Fix segfault when using groups in PAM user mapping plugin
-rw-r--r-- | plugin/auth_pam/mapper/pam_user_map.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/plugin/auth_pam/mapper/pam_user_map.c b/plugin/auth_pam/mapper/pam_user_map.c index fb149c5cc05..b4db8ece06e 100644 --- a/plugin/auth_pam/mapper/pam_user_map.c +++ b/plugin/auth_pam/mapper/pam_user_map.c @@ -71,6 +71,7 @@ static int populate_user_groups(const char *user, gid_t **groups) static int user_in_group(const gid_t *user_groups, int ng,const char *group) { gid_t group_id; + const gid_t *groups_end = user_groups + ng; { struct group *g= getgrnam(group); @@ -79,7 +80,7 @@ static int user_in_group(const gid_t *user_groups, int ng,const char *group) group_id= g->gr_gid; } - for (; user_groups < user_groups + ng; user_groups++) + for (; user_groups < groups_end; user_groups++) { if (*user_groups == group_id) return 1; @@ -146,7 +147,7 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags, goto ret; } } - pam_err= PAM_SUCCESS; + pam_err= PAM_AUTH_ERR; goto ret; syntax_error: |