diff options
author | otto <otto@openbsd.org> | 2005-12-07 19:53:31 +0000 |
---|---|---|
committer | otto <otto@openbsd.org> | 2005-12-07 19:53:31 +0000 |
commit | 357577758509fff23eb34e5944c1affdbc8ad826 (patch) | |
tree | 5fc7030cbddbc3ecfe24e9e58d20c8a3dda13af8 /usr.sbin/tcpdump/print-ntp.c | |
parent | document how /dev/fd/# works for setuid (do not bother discussing setuid shell scripts though) (diff) | |
download | wireguard-openbsd-357577758509fff23eb34e5944c1affdbc8ad826.tar.xz wireguard-openbsd-357577758509fff23eb34e5944c1affdbc8ad826.zip |
Do not use strlcpy if the source string is not NUL terminated and
avoid printing funny chars. Problem spotted by naddy@ whil tcpdumping
enc0 with malloc.conf AJ; ok canacar@ on an earlier version.
Diffstat (limited to 'usr.sbin/tcpdump/print-ntp.c')
-rw-r--r-- | usr.sbin/tcpdump/print-ntp.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/usr.sbin/tcpdump/print-ntp.c b/usr.sbin/tcpdump/print-ntp.c index 3657d840afe..d1e5c71f90d 100644 --- a/usr.sbin/tcpdump/print-ntp.c +++ b/usr.sbin/tcpdump/print-ntp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: print-ntp.c,v 1.11 2002/02/19 19:39:40 millert Exp $ */ +/* $OpenBSD: print-ntp.c,v 1.12 2005/12/07 19:53:31 otto Exp $ */ /* * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 @@ -27,7 +27,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /home/cvs/src/usr.sbin/tcpdump/print-ntp.c,v 1.11 2002/02/19 19:39:40 millert Exp $ (LBL)"; + "@(#) $Header: /home/cvs/src/usr.sbin/tcpdump/print-ntp.c,v 1.12 2005/12/07 19:53:31 otto Exp $ (LBL)"; #endif #include <sys/param.h> @@ -64,7 +64,6 @@ ntp_print(register const u_char *cp, u_int length) { register const struct ntpdata *bp; int mode, version, leapind; - static char rclock[5]; bp = (struct ntpdata *)cp; /* Note funny sized packets */ @@ -159,8 +158,7 @@ ntp_print(register const u_char *cp, u_int length) break; case PRIM_REF: - strlcpy(rclock, (char *)&(bp->refid), sizeof(rclock)); - fputs(rclock, stdout); + fn_printn((u_char *)&bp->refid, sizeof(bp->refid), NULL); break; case INFO_QUERY: |