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-30 08:30:47 -0400
commit8659882d100484a26a02a2e4dd1e4f2d424363a8 (patch)
tree7fcdb21d6226fd995f69ffcd8e81fd28b998fdee
parent3b90d7fc44d93596322ab2d073e935a144721535 (diff)
downloadsssd-8659882d100484a26a02a2e4dd1e4f2d424363a8.tar.gz
sssd-8659882d100484a26a02a2e4dd1e4f2d424363a8.tar.xz
sssd-8659882d100484a26a02a2e4dd1e4f2d424363a8.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 0031d2401..635bb9374 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;