diff options
Diffstat (limited to 'src/providers')
-rw-r--r-- | src/providers/ipa/ipa_access.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/providers/ipa/ipa_access.c b/src/providers/ipa/ipa_access.c index abb6edb7a..af761fa0a 100644 --- a/src/providers/ipa/ipa_access.c +++ b/src/providers/ipa/ipa_access.c @@ -1037,7 +1037,8 @@ enum check_result check_service(struct pam_data *pd, return RULE_APPLICABLE; } else { for (i = 0; i < el->num_values; i++) { - if (strncasecmp(pd->service, (const char *) el->values[i].data, + if (strlen(pd->service) == el->values[i].length && + strncasecmp(pd->service, (const char *) el->values[i].data, el->values[i].length) == 0) { DEBUG(9, ("Service [%s] found, rule applies.\n", pd->service)); |