Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2012-09-03 23:15:28 +0200
committerArthur de Jong <arthur@arthurdejong.org>2012-09-03 23:15:28 +0200
commit9741f749fbb7d9474d045aa86cc71f252290600e (patch)
tree23844ca95d94aeb5293861ca36b4a5e9b5c939a0
parentee229d3a95175e7cbff676f3784d4a2c5703b986 (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.c7
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);