diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2011-12-05 13:40:51 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-12-05 14:24:29 -0500 |
commit | f43a61a726dd704c6106fe0e23fae181ceab1743 (patch) | |
tree | 70cb8cfbc0a7d2109fb2ef713c50f25d8221baa4 | |
parent | 000b68ccae459f3b09ee544b3ff678c555c2496b (diff) | |
download | sssd-f43a61a726dd704c6106fe0e23fae181ceab1743.tar.gz sssd-f43a61a726dd704c6106fe0e23fae181ceab1743.tar.xz sssd-f43a61a726dd704c6106fe0e23fae181ceab1743.zip |
Ignore NULL-terminator when checking UTF8-validity
Glib fails if the NULL-terminator is included when a length is
specified.
-rw-r--r-- | src/responder/nss/nsssrv_cmd.c | 6 | ||||
-rw-r--r-- | src/responder/pam/pamsrv_cmd.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index 31a47210d..6848413dd 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -875,7 +875,7 @@ static int nss_cmd_getpwnam(struct cli_ctx *cctx) } /* If the body isn't valid UTF-8, fail */ - if (!sss_utf8_check(body, blen)) { + if (!sss_utf8_check(body, blen -1)) { ret = EINVAL; goto done; } @@ -2149,7 +2149,7 @@ static int nss_cmd_getgrnam(struct cli_ctx *cctx) } /* If the body isn't valid UTF-8, fail */ - if (!sss_utf8_check(body, blen)) { + if (!sss_utf8_check(body, blen -1)) { ret = EINVAL; goto done; } @@ -3196,7 +3196,7 @@ static int nss_cmd_initgroups(struct cli_ctx *cctx) } /* If the body isn't valid UTF-8, fail */ - if (!sss_utf8_check(body, blen)) { + if (!sss_utf8_check(body, blen -1)) { ret = EINVAL; goto done; } diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c index cbf22236e..b7c6fe2c2 100644 --- a/src/responder/pam/pamsrv_cmd.c +++ b/src/responder/pam/pamsrv_cmd.c @@ -71,7 +71,7 @@ static int extract_string(char **var, size_t size, uint8_t *body, size_t blen, if (str[size-1]!='\0') return EINVAL; /* If the string isn't valid UTF-8, fail */ - if (!sss_utf8_check(str, size)) { + if (!sss_utf8_check(str, size-1)) { return EINVAL; } |