svn commit: r206152 - head/lib/libc/net

[ Available lists | Index of svn-src-head | Month of Apr 2010 | Week of 4 Apr 2010 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Hajimu UMEMOTO <ume@FreeBSD.org>
Date
4 Apr 2010 07:02:10
Subject
svn commit: r206152 - head/lib/libc/net
Message-ID
201004040702.o3472AZW031483@svn.freebsd.org


[ Hide this part ]
Author: ume
Date: Sun Apr 4 07:02:10 2010
New Revision: 206152
URL: http://svn.freebsd.org/changeset/base/206152

Log:
Stop adding trailing '\n'. The servent_unpack() doesn't expect
lines terminated with '\n'.

MFC after: 2 weeks

Modified:
head/lib/libc/net/getservent.c

Modified: head/lib/libc/net/getservent.c
==============================================================================
--- head/lib/libc/net/getservent.c Sat Apr 3 23:51:41 2010 (r206151)
+++ head/lib/libc/net/getservent.c Sun Apr 4 07:02:10 2010 (r206152)
@@ -594,15 +594,13 @@ nis_servent(void *retval, void *mdata, v
break;
};

- /* we need a room for additional \n symbol */
- if (bufsize <=
- resultbuflen + 1 + _ALIGNBYTES + sizeof(char *)) {
+ if (bufsize <= resultbuflen + _ALIGNBYTES + sizeof(char *)) {
*errnop = ERANGE;
rv = NS_RETURN;
break;
}

- aliases = (char **)_ALIGN(&buffer[resultbuflen + 2]);
+ aliases = (char **)_ALIGN(&buffer[resultbuflen + 1]);
aliases_size =
(buffer + bufsize - (char *)aliases) / sizeof(char *);
if (aliases_size < 1) {
@@ -611,13 +609,8 @@ nis_servent(void *retval, void *mdata, v
break;
}

- /*
- * servent_unpack expects lines terminated with \n --
- * make it happy
- */
memcpy(buffer, resultbuf, resultbuflen);
- buffer[resultbuflen] = '\n';
- buffer[resultbuflen + 1] = '\0';
+ buffer[resultbuflen] = '\0';

if (servent_unpack(buffer, serv, aliases, aliases_size,
errnop) != 0) {

Elapsed time: 0.055 seconds