diff options
author | brian <brian@FreeBSD.org> | 1998-03-06 02:12:02 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1998-03-06 02:12:02 +0000 |
commit | efc99b1047dc12ec9e00c9190ed44e4abbf68490 (patch) | |
tree | 44e2c124355080e3f1a9a1a2a51015cc3a563cc5 /lib/libc/gen/syslog.c | |
parent | d7635f84c9017f60df6c80ae4442df226e0ed789 (diff) | |
download | FreeBSD-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/syslog.c')
-rw-r--r-- | lib/libc/gen/syslog.c | 7 |
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; |