strcpy/sprintf cleanup. from openbsd
This commit is contained in:
parent
76a26cefcd
commit
16435cdb98
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue