use snprintf
diff --git a/print-bgp.c b/print-bgp.c
index b335e78..37777a6 100644
--- a/print-bgp.c
+++ b/print-bgp.c
@@ -36,7 +36,7 @@
#ifndef lint
static const char rcsid[] =
- "@(#) $Header: /tcpdump/master/tcpdump/print-bgp.c,v 1.69 2003-07-01 08:33:43 guy Exp $";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-bgp.c,v 1.70 2003-08-13 02:26:53 itojun Exp $";
#endif
#include <tcpdump-stdinc.h>
@@ -490,27 +490,19 @@
switch (EXTRACT_16BITS(pptr)) {
/* AS:IP-address fmt*/
case 0:
- sprintf(pos, "%u:%u.%u.%u.%u",
- EXTRACT_16BITS(pptr+2),
- *(pptr+4),
- *(pptr+5),
- *(pptr+6),
- *(pptr+7));
+ snprintf(pos, sizeof(rd) - (pos - rd), "%u:%u.%u.%u.%u",
+ EXTRACT_16BITS(pptr+2), *(pptr+4), *(pptr+5), *(pptr+6), *(pptr+7));
break;
/* IP-address:AS fmt*/
case 1:
- sprintf(pos, "%u.%u.%u.%u:%u",
- *(pptr+2),
- *(pptr+3),
- *(pptr+4),
- *(pptr+5),
- EXTRACT_16BITS(pptr+6));
+ snprintf(pos, sizeof(rd) - (pos - rd), "%u.%u.%u.%u:%u",
+ *(pptr+2), *(pptr+3), *(pptr+4), *(pptr+5), EXTRACT_16BITS(pptr+6));
break;
default:
- sprintf(pos, "unknown RD format");
+ snprintf(pos, sizeof(rd) - (pos - rd), "unknown RD format");
break;
}
- pos+=strlen(pos);
+ pos += strlen(pos);
*(pos) = '\0';
return (rd);
}
diff --git a/print-dhcp6.c b/print-dhcp6.c
index eda4628..9481e91 100644
--- a/print-dhcp6.c
+++ b/print-dhcp6.c
@@ -32,7 +32,7 @@
#ifndef lint
static const char rcsid[] =
- "@(#) $Header: /tcpdump/master/tcpdump/print-dhcp6.c,v 1.25 2003-07-16 16:15:53 itojun Exp $";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-dhcp6.c,v 1.26 2003-08-13 02:26:53 itojun Exp $";
#endif
#ifdef HAVE_CONFIG_H
@@ -204,7 +204,7 @@
case DH6OPT_IA_PD_PREFIX:
return "IA_PD prefix";
default:
- sprintf(genstr, "opt_%d", type);
+ snprintf(genstr, sizeof(genstr), "opt_%d", type);
return(genstr);
}
}
@@ -233,7 +233,7 @@
case DH6OPT_STCODE_NOPREFIXAVAIL:
return "no prefixes";
default:
- sprintf(genstr, "code%d", code);
+ snprintf(genstr, sizeof(genstr), "code%d", code);
return(genstr);
}
}
diff --git a/print-fr.c b/print-fr.c
index 199dec6..e17bfa3 100644
--- a/print-fr.c
+++ b/print-fr.c
@@ -21,7 +21,7 @@
#ifndef lint
static const char rcsid[] =
- "@(#)$Header: /tcpdump/master/tcpdump/print-fr.c,v 1.12 2003-05-22 16:52:37 hannes Exp $ (LBL)";
+ "@(#)$Header: /tcpdump/master/tcpdump/print-fr.c,v 1.13 2003-08-13 02:26:52 itojun Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
@@ -187,7 +187,7 @@
static char buf[5+1+2+1];
if (nflag || fr_nlpids[proto] == NULL) {
- sprintf(buf, "proto-%02x", proto);
+ snprintf(buf, sizeof(buf), "proto-%02x", proto);
return buf;
}
return fr_nlpids[proto];
diff --git a/print-isoclns.c b/print-isoclns.c
index f2c651e..4ceebcc 100644
--- a/print-isoclns.c
+++ b/print-isoclns.c
@@ -26,7 +26,7 @@
#ifndef lint
static const char rcsid[] =
- "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.93 2003-07-29 09:21:16 hannes Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.94 2003-08-13 02:26:52 itojun Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
@@ -446,14 +446,17 @@
char *junk_buf = nsap_ascii_output;
if (nsap_length < 1 || nsap_length > 20) {
- sprintf(junk_buf, "illegal length");
+ snprintf(nsap_ascii_output, sizeof(nsap_ascii_output),
+ "illegal length");
return (nsap_ascii_output);
}
for (nsap_idx = 0; nsap_idx < nsap_length; nsap_idx++) {
if (!TTEST2(*pptr, 1))
return (0);
- sprintf(junk_buf, "%02x", *pptr++);
+ snprintf(junk_buf,
+ sizeof(nsap_ascii_output) - (junk_buf - nsap_ascii_output),
+ "%02x", *pptr++);
junk_buf += strlen(junk_buf);
if (((nsap_idx & 1) == 0) &&
(nsap_idx + 1 < nsap_length)) {
@@ -695,17 +698,17 @@
char *pos = id;
for (i = 1; i <= SYSTEM_ID_LEN; i++) {
- sprintf(pos, "%02x", *cp++);
+ snprintf(pos, sizeof(id) - (pos - id), "%02x", *cp++);
pos += strlen(pos);
if (i == 2 || i == 4)
*pos++ = '.';
}
if (id_len >= NODE_ID_LEN) {
- sprintf(pos, ".%02x", *cp++);
+ snprintf(pos, sizeof(id) - (pos - id), ".%02x", *cp++);
pos += strlen(pos);
}
if (id_len == LSP_ID_LEN)
- sprintf(pos, "-%02x", *cp);
+ snprintf(pos, sizeof(id) - (pos - id), "-%02x", *cp);
return (id);
}