Back out strcpy() -> strncpy() changes. According to Bruce, they are unneeded.

Check the return value of gethostname() like in timed. Make enough place to
NUL-terminate the result.
This commit is contained in:
Philippe Charnier 1997-10-29 07:35:27 +00:00
parent 0b778a4e7f
commit 5e24be183a

View File

@ -36,7 +36,7 @@
static char sccsid[] = "@(#)cmds.c 8.1 (Berkeley) 6/6/93"; static char sccsid[] = "@(#)cmds.c 8.1 (Berkeley) 6/6/93";
#endif #endif
static const char rcsid[] = static const char rcsid[] =
"$Id$"; "$Id: cmds.c,v 1.3 1997/10/22 06:20:04 charnier Exp $";
#endif /* not lint */ #endif /* not lint */
#include "timedc.h" #include "timedc.h"
@ -68,7 +68,7 @@ static const char rcsid[] =
int sock; int sock;
int sock_raw; int sock_raw;
char myname[MAXHOSTNAMELEN]; char myname[MAXHOSTNAMELEN+1];
struct hostent *hp; struct hostent *hp;
struct sockaddr_in server; struct sockaddr_in server;
struct sockaddr_in dayaddr; struct sockaddr_in dayaddr;
@ -185,7 +185,8 @@ clockdiff(argc, argv)
return; return;
} }
(void)gethostname(myname,sizeof(myname)); if (gethostname(myname, sizeof(myname) - 1) < 0)
err(1, "gethostname");
/* get the address for the date ready */ /* get the address for the date ready */
sp = getservbyname(DATE_PORT, DATE_PROTO); sp = getservbyname(DATE_PORT, DATE_PROTO);
@ -295,7 +296,8 @@ msite(argc, argv)
dest.sin_port = srvp->s_port; dest.sin_port = srvp->s_port;
dest.sin_family = AF_INET; dest.sin_family = AF_INET;
(void)gethostname(myname, sizeof(myname)); if (gethostname(myname, sizeof(myname) - 1) < 0)
err(1, "gethostname");
i = 1; i = 1;
do { do {
tgtname = (i >= argc) ? myname : argv[i]; tgtname = (i >= argc) ? myname : argv[i];
@ -306,8 +308,7 @@ msite(argc, argv)
} }
bcopy(hp->h_addr, &dest.sin_addr.s_addr, hp->h_length); bcopy(hp->h_addr, &dest.sin_addr.s_addr, hp->h_length);
(void)strncpy(msg.tsp_name, myname, sizeof msg.tsp_name-1); (void)strcpy(msg.tsp_name, myname);
msg.tsp_name[sizeof msg.tsp_name-1] = '\0';
msg.tsp_type = TSP_MSITE; msg.tsp_type = TSP_MSITE;
msg.tsp_vers = TSPVERSION; msg.tsp_vers = TSPVERSION;
bytenetorder(&msg); bytenetorder(&msg);
@ -394,8 +395,9 @@ testing(argc, argv)
msg.tsp_type = TSP_TEST; msg.tsp_type = TSP_TEST;
msg.tsp_vers = TSPVERSION; msg.tsp_vers = TSPVERSION;
(void)gethostname(myname, sizeof(myname)); if (gethostname(myname, sizeof(myname) - 1) < 0)
(void)strncpy(msg.tsp_name, myname, sizeof(msg.tsp_name)); err(1, "gethostname");
(void)strcpy(msg.tsp_name, myname);
bytenetorder(&msg); bytenetorder(&msg);
if (sendto(sock, &msg, sizeof(struct tsp), 0, if (sendto(sock, &msg, sizeof(struct tsp), 0,
(struct sockaddr*)&sin, (struct sockaddr*)&sin,
@ -437,7 +439,8 @@ tracing(argc, argv)
dest.sin_port = srvp->s_port; dest.sin_port = srvp->s_port;
dest.sin_family = AF_INET; dest.sin_family = AF_INET;
(void)gethostname(myname,sizeof(myname)); if (gethostname(myname, sizeof(myname) - 1) < 0)
err(1, "gethostname");
hp = gethostbyname(myname); hp = gethostbyname(myname);
bcopy(hp->h_addr, &dest.sin_addr.s_addr, hp->h_length); bcopy(hp->h_addr, &dest.sin_addr.s_addr, hp->h_length);
@ -449,8 +452,7 @@ tracing(argc, argv)
onflag = OFF; onflag = OFF;
} }
(void)strncpy(msg.tsp_name, myname, sizeof msg.tsp_name-1); (void)strcpy(msg.tsp_name, myname);
msg.tsp_name[sizeof msg.tsp_name-1] = '\0';
msg.tsp_vers = TSPVERSION; msg.tsp_vers = TSPVERSION;
bytenetorder(&msg); bytenetorder(&msg);
if (sendto(sock, &msg, sizeof(struct tsp), 0, if (sendto(sock, &msg, sizeof(struct tsp), 0,