diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2012-09-03 23:15:28 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2012-09-03 23:15:28 +0200 |
commit | 9741f749fbb7d9474d045aa86cc71f252290600e (patch) | |
tree | 23844ca95d94aeb5293861ca36b4a5e9b5c939a0 | |
parent | ee229d3a95175e7cbff676f3784d4a2c5703b986 (diff) |
a few fixes in the Solaris group lookups
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1749 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r-- | nss/group.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/nss/group.c b/nss/group.c index fa173d2..daa02e9 100644 --- a/nss/group.c +++ b/nss/group.c @@ -190,7 +190,6 @@ static nss_status_t read_groupstring(TFILE *fp,nss_XbyY_args_t *args) struct group result; nss_status_t retv; char *buffer; - size_t buflen; int i; /* read the group into a temporary buffer */ buffer=(char *)malloc(args->buf.buflen); @@ -210,12 +209,12 @@ static nss_status_t read_groupstring(TFILE *fp,nss_XbyY_args_t *args) for (i=0;result.gr_mem[i];i++) { if (i) - strncat(args->buf.buffer,args->buf.buflen-strlen(args->buf.buffer)-1,","); - strncat(args->buf.buffer,args->buf.buflen-strlen(args->buf.buffer)-1,result.gr_mem[i]); + strncat(args->buf.buffer,",",args->buf.buflen-strlen(args->buf.buffer)-1); + strncat(args->buf.buffer,result.gr_mem[i],args->buf.buflen-strlen(args->buf.buffer)-1); } free(buffer); /* check if buffer overflowed */ - if (strlen(args->buf.buffer)>=args->buf.buffer-1) + if (strlen(args->buf.buffer)>=args->buf.buflen-1) return NSS_STATUS_TRYAGAIN; NSS_ARGS(args)->returnval=NSS_ARGS(args)->buf.buffer; NSS_ARGS(args)->returnlen=strlen(NSS_ARGS(args)->buf.buffer); |