summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1998-03-06 02:12:02 +0000
committerbrian <brian@FreeBSD.org>1998-03-06 02:12:02 +0000
commitefc99b1047dc12ec9e00c9190ed44e4abbf68490 (patch)
tree44e2c124355080e3f1a9a1a2a51015cc3a563cc5 /lib/libc/gen
parentd7635f84c9017f60df6c80ae4442df226e0ed789 (diff)
downloadFreeBSD-src-efc99b1047dc12ec9e00c9190ed44e4abbf68490.zip
FreeBSD-src-efc99b1047dc12ec9e00c9190ed44e4abbf68490.tar.gz
Nul terminate sockaddr_un::sun_path
Suggested by: Theo de Raadt <deraadt@openbsd.org>
Diffstat (limited to 'lib/libc/gen')
-rw-r--r--lib/libc/gen/syslog.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libc/gen/syslog.c b/lib/libc/gen/syslog.c
index cf059ab..992ffe2 100644
--- a/lib/libc/gen/syslog.c
+++ b/lib/libc/gen/syslog.c
@@ -36,7 +36,7 @@
static char sccsid[] = "@(#)syslog.c 8.5 (Berkeley) 4/29/95";
*/
static const char rcsid[] =
- "$Id: syslog.c,v 1.13 1997/03/20 16:28:14 jdp Exp $";
+ "$Id: syslog.c,v 1.14 1998/03/05 22:17:59 brian Exp $";
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
@@ -303,7 +303,8 @@ connectlog()
SyslogAddr.sun_len = sizeof(SyslogAddr);
SyslogAddr.sun_family = AF_UNIX;
(void)strncpy(SyslogAddr.sun_path, _PATH_LOG,
- sizeof(SyslogAddr.sun_path));
+ sizeof SyslogAddr.sun_path - 1);
+ SyslogAddr.sun_path[sizeof SyslogAddr.sun_path - 1] = '\0';
connected = connect(LogFile, (struct sockaddr *)&SyslogAddr,
sizeof(SyslogAddr)) != -1;
@@ -313,7 +314,7 @@ connectlog()
* compatibility.
*/
(void)strncpy(SyslogAddr.sun_path, _PATH_OLDLOG,
- sizeof(SyslogAddr.sun_path));
+ sizeof SyslogAddr.sun_path - 1);
connected = connect(LogFile,
(struct sockaddr *)&SyslogAddr,
sizeof(SyslogAddr)) != -1;
OpenPOWER on IntegriCloud