summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-03-27 15:23:23 -0400
committerStephen Gallagher <sgallagh@redhat.com>2012-03-29 15:06:54 -0400
commit19274969b61c65a1d8f9b6e3002ae06a7f2cc1a2 (patch)
tree94459550e29c3220754571e21aa36e363d8a8b18
parent2ee584f042133396ebb7c13bb35d3901be6ec7a0 (diff)
downloadsssd-19274969b61c65a1d8f9b6e3002ae06a7f2cc1a2.tar.gz
sssd-19274969b61c65a1d8f9b6e3002ae06a7f2cc1a2.tar.xz
sssd-19274969b61c65a1d8f9b6e3002ae06a7f2cc1a2.zip
Fix off-by-one error in principal selection
https://fedorahosted.org/sssd/ticket/1269
-rw-r--r--src/util/sss_krb5.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/util/sss_krb5.c b/src/util/sss_krb5.c
index 75ce2a59a..73bd5b8e9 100644
--- a/src/util/sss_krb5.c
+++ b/src/util/sss_krb5.c
@@ -390,7 +390,7 @@ static bool match_principal(krb5_context ctx,
const char *realm_name;
int realm_len;
- int mode = MODE_NORMAL;
+ enum matching_mode mode = MODE_NORMAL;
TALLOC_CTX *tmp_ctx;
bool ret = false;
@@ -404,10 +404,10 @@ static bool match_principal(krb5_context ctx,
if (pattern_primary) {
tmp_len = strlen(pattern_primary);
- if (pattern_primary[tmp_len] == '*') {
+ if (pattern_primary[tmp_len-1] == '*') {
mode = MODE_PREFIX;
primary_str = talloc_strdup(tmp_ctx, pattern_primary);
- primary_str[tmp_len] = '\0';
+ primary_str[tmp_len-1] = '\0';
primary_str_len = tmp_len-1;
} else if (pattern_primary[0] == '*') {
mode = MODE_POSTFIX;