strcpy/sprintf cleanup. from openbsd

This commit is contained in:
itojun 2003-04-21 08:54:42 +00:00
parent 76a26cefcd
commit 16435cdb98
4 changed files with 42 additions and 26 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: main.c,v 1.31 2002/11/30 04:04:23 christos Exp $ */
/* $NetBSD: main.c,v 1.32 2003/04/21 08:54:42 itojun Exp $ */
/*
* Copyright (c) 1983, 1988, 1993
@ -46,7 +46,7 @@ __COPYRIGHT("@(#) Copyright (c) 1983, 1988, 1993\n"
"The Regents of the University of California."
" All rights reserved.\n");
#ifdef __NetBSD__
__RCSID("$NetBSD: main.c,v 1.31 2002/11/30 04:04:23 christos Exp $");
__RCSID("$NetBSD: main.c,v 1.32 2003/04/21 08:54:42 itojun Exp $");
#elif defined(__FreeBSD__)
__RCSID("$FreeBSD$");
#else
@ -321,7 +321,7 @@ usage:
if (tracename != 0) {
strncpy(inittracename, tracename, sizeof(inittracename)-1);
strlcpy(inittracename, tracename, sizeof(inittracename));
set_tracefile(inittracename, "%s", -1);
} else {
tracelevel_msg("%s", -1); /* turn on tracing to stdio */

View File

@ -1,4 +1,4 @@
/* $NetBSD: parms.c,v 1.18 2003/04/15 08:20:17 itojun Exp $ */
/* $NetBSD: parms.c,v 1.19 2003/04/21 08:54:42 itojun Exp $ */
/*
* Copyright (c) 1983, 1993
@ -38,7 +38,7 @@
#include <sys/stat.h>
#ifdef __NetBSD__
__RCSID("$NetBSD: parms.c,v 1.18 2003/04/15 08:20:17 itojun Exp $");
__RCSID("$NetBSD: parms.c,v 1.19 2003/04/21 08:54:42 itojun Exp $");
#elif defined(__FreeBSD__)
__RCSID("$FreeBSD$");
#else
@ -283,7 +283,7 @@ gwkludge(void)
* tables to prevent overriding them with something
* else.
*/
strcpy(qual,"external");
strlcpy(qual, "external", sizeof(qual));
state = IS_REMOTE | IS_PASSIVE | IS_EXTERNAL;
if (metric == 0)
metric = 1;
@ -680,7 +680,7 @@ parse_parms(char *line,
if (parm.parm_name[0] != '\0'
|| strlen(buf) > IF_NAME_LEN)
return bad_str(tgt);
strcpy(parm.parm_name, buf);
strlcpy(parm.parm_name, buf, sizeof(parm.parm_name));
} else if (PARSEQ("addr")) {
/* This is a bad idea, because the address based

View File

@ -1,4 +1,4 @@
/* $NetBSD: table.c,v 1.19 2003/04/15 08:20:18 itojun Exp $ */
/* $NetBSD: table.c,v 1.20 2003/04/21 08:54:42 itojun Exp $ */
/*
* Copyright (c) 1983, 1988, 1993
@ -36,7 +36,7 @@
#include "defs.h"
#ifdef __NetBSD__
__RCSID("$NetBSD: table.c,v 1.19 2003/04/15 08:20:18 itojun Exp $");
__RCSID("$NetBSD: table.c,v 1.20 2003/04/21 08:54:42 itojun Exp $");
#elif defined(__FreeBSD__)
__RCSID("$FreeBSD$");
#else
@ -1231,10 +1231,13 @@ read_rt(void)
continue; /* ignore compat message */
#endif
strcpy(str, rtm_type_name(m.r.rtm.rtm_type));
strlcpy(str, rtm_type_name(m.r.rtm.rtm_type), sizeof(str));
strp = &str[strlen(str)];
if (m.r.rtm.rtm_type <= RTM_CHANGE)
strp += sprintf(strp," from pid %d",m.r.rtm.rtm_pid);
if (m.r.rtm.rtm_type <= RTM_CHANGE) {
snprintf(strp, str + sizeof(str) - strp,
" from pid %d",m.r.rtm.rtm_pid);
strp += strlen(strp);
}
rt_xaddrs(&info, m.r.addrs, &m.r.addrs[RTAX_MAX],
m.r.rtm.rtm_addrs);
@ -1256,8 +1259,9 @@ read_rt(void)
? HOST_MASK
: std_mask(S_ADDR(INFO_DST(&info))));
strp += sprintf(strp, ": %s",
snprintf(strp, str + sizeof(str) - strp, ": %s",
addrname(S_ADDR(INFO_DST(&info)), mask, 0));
strp += strlen(strp);
if (IN_MULTICAST(ntohl(S_ADDR(INFO_DST(&info))))) {
trace_act("ignore multicast %s", str);
@ -1278,14 +1282,18 @@ read_rt(void)
if (get_info_gate(&INFO_GATE(&info), &gate_sin)) {
gate = S_ADDR(INFO_GATE(&info));
strp += sprintf(strp, " --> %s", naddr_ntoa(gate));
snprintf(strp, str + sizeof(str) - strp,
" --> %s", naddr_ntoa(gate));
strp += strlen(strp);
} else {
gate = 0;
}
if (INFO_AUTHOR(&info) != 0)
strp += sprintf(strp, " by authority of %s",
snprintf(strp, str + sizeof(str) - strp,
" by authority of %s",
saddr_ntoa(INFO_AUTHOR(&info)));
strp += strlen(strp);
switch (m.r.rtm.rtm_type) {
case RTM_ADD:

View File

@ -1,4 +1,4 @@
/* $NetBSD: trace.c,v 1.27 2002/11/30 04:04:24 christos Exp $ */
/* $NetBSD: trace.c,v 1.28 2003/04/21 08:54:42 itojun Exp $ */
/*
* Copyright (c) 1983, 1988, 1993
@ -41,7 +41,7 @@
#include <fcntl.h>
#ifdef __NetBSD__
__RCSID("$NetBSD: trace.c,v 1.27 2002/11/30 04:04:24 christos Exp $");
__RCSID("$NetBSD: trace.c,v 1.28 2003/04/21 08:54:42 itojun Exp $");
#elif defined(__FreeBSD__)
__RCSID("$FreeBSD$");
#else
@ -135,7 +135,8 @@ naddr_ntoa(naddr a)
struct in_addr addr;
addr.s_addr = a;
s = strcpy(bufs[bufno].str, inet_ntoa(addr));
strlcpy(bufs[bufno].str, inet_ntoa(addr), sizeof(bufs[bufno].str));
s = bufs[bufno].str;
bufno = (bufno+1) % NUM_BUFS;
return s;
#undef NUM_BUFS
@ -372,7 +373,7 @@ set_tracefile(const char *filename,
trace_close(file_trace = 1);
if (fn != savetracename)
strncpy(savetracename, fn, sizeof(savetracename)-1);
strlcpy(savetracename, fn, sizeof(savetracename));
ftrace = n_ftrace;
fflush(stdout);
@ -445,9 +446,12 @@ addrname(naddr addr, /* in network byte order */
} bufs[NUM_BUFS];
char *s, *sp;
naddr dmask;
size_t l;
int i;
s = strcpy(bufs[bufno].str, naddr_ntoa(addr));
strlcpy(bufs[bufno].str, naddr_ntoa(addr), sizeof(bufs[bufno].str));
s = bufs[bufno].str;
l = sizeof(bufs[bufno].str);
bufno = (bufno+1) % NUM_BUFS;
if (force == 1 || (force == 0 && mask != std_mask(addr))) {
@ -457,10 +461,11 @@ addrname(naddr addr, /* in network byte order */
if (mask + dmask == 0) {
for (i = 0; i != 32 && ((1<<i) & mask) == 0; i++)
continue;
(void)sprintf(sp, "/%d", 32-i);
(void)snprintf(sp, s + l - sp, "/%d", 32-i);
} else {
(void)sprintf(sp, " (mask %#x)", (u_int)mask);
(void)snprintf(sp, s + l - sp, " (mask %#x)",
(u_int)mask);
}
}
@ -590,8 +595,11 @@ rtname(naddr dst,
+3*4+3+1]; /* "xxx.xxx.xxx.xxx" */
int i;
i = sprintf(buf, "%-16s-->", addrname(dst, mask, 0));
(void)sprintf(&buf[i], "%-*s", 15+20-MAX(20,i), naddr_ntoa(gate));
i = snprintf(buf, sizeof(buf), "%-16s-->", addrname(dst, mask, 0));
if (i >= sizeof(buf) || i < 0)
return buf;
(void)snprintf(&buf[i], sizeof(buf) - i, "%-*s", 15+20-MAX(20, i),
naddr_ntoa(gate));
return buf;
}