aboutsummaryrefslogtreecommitdiffstats
path: root/src/libnsss/nsss_switch_grp_read.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnsss/nsss_switch_grp_read.c')
-rw-r--r--src/libnsss/nsss_switch_grp_read.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libnsss/nsss_switch_grp_read.c b/src/libnsss/nsss_switch_grp_read.c
index 47577f0..2fb34bc 100644
--- a/src/libnsss/nsss_switch_grp_read.c
+++ b/src/libnsss/nsss_switch_grp_read.c
@@ -43,13 +43,13 @@ int nsss_switch_grp_read (buffer *b, struct group *gr, stralloc *sa, genalloc *g
p = sa->s + sa->len ; len = total ;
q = genalloc_s(char *, ga) + genalloc_len(char *, ga) ;
grtmp.gr_mem = q ;
- grtmp.gr_name = p ; x = strnlen(p, len) + 1 ; p += x ; len -= x ;
+ grtmp.gr_name = p ; x = strnlen(p, len-1) + 1 ; p += x ; len -= x ;
if (!len) return (errno = EPROTO, 0) ;
- grtmp.gr_passwd = p ; x = strnlen(p, len) + 1 ; p += x ; len -= x ;
+ grtmp.gr_passwd = p ; x = strnlen(p, len-1) + 1 ; p += x ; len -= x ;
for (uint32_t i = 0 ; i < n ; i++)
{
if (!len) return (errno = EPROTO, 0) ;
- q[i] = p ; x = strnlen(p, len) + 1 ; p += x ; len -= x ;
+ q[i] = p ; x = strnlen(p, len-1) + 1 ; p += x ; len -= x ;
}
if (len) return (errno = EPROTO, 0) ;
q[n] = 0 ;