summaryrefslogtreecommitdiff
path: root/print-cnfp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2018-01-29 15:48:55 -0800
committerGuy Harris <guy@alum.mit.edu>2018-01-29 15:48:55 -0800
commitc499612a7f1024a183d0200ef5f1ea7fba63a3e4 (patch)
tree5ffc65612e07d03e445e58a02d9e349c13eb0af7 /print-cnfp.c
parent1e120597d2cb5864d52ca99ca6e167f2454c3153 (diff)
downloadtcpdump-c499612a7f1024a183d0200ef5f1ea7fba63a3e4.tar.gz
Add nd_{v}snprintf() routines/wrappers.
Some versions of the MSVC runtime library have a non-C99-compliant vsnprintf(), which we want to avoid. On Windows, use snprintf() and vsnprintf() for VS 2015 and later, where they both exist in C99-compliant forms, and wrap _{v}snprintf_s() otherwise (they're guaranteed to do the null termination that we want).
Diffstat (limited to 'print-cnfp.c')
-rw-r--r--print-cnfp.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/print-cnfp.c b/print-cnfp.c
index 17fdc859..badbea96 100644
--- a/print-cnfp.c
+++ b/print-cnfp.c
@@ -296,14 +296,14 @@ cnfp_v5_print(netdissect_options *ndo, const u_char *cp)
EXTRACT_BE_U_4(nr->last_time)%1000);
asbuf[0] = buf[0] = '\0';
- snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->src_mask));
- snprintf(asbuf, sizeof(asbuf), ":%u",
+ nd_snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->src_mask));
+ nd_snprintf(asbuf, sizeof(asbuf), ":%u",
EXTRACT_BE_U_2(nr->src_as));
ND_PRINT("\n %s%s%s:%u ", intoa(nr->src_ina.s_addr), buf, asbuf,
EXTRACT_BE_U_2(nr->srcport));
- snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->dst_mask));
- snprintf(asbuf, sizeof(asbuf), ":%u",
+ nd_snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->dst_mask));
+ nd_snprintf(asbuf, sizeof(asbuf), ":%u",
EXTRACT_BE_U_2(nr->dst_as));
ND_PRINT("> %s%s%s:%u ", intoa(nr->dst_ina.s_addr), buf, asbuf,
EXTRACT_BE_U_2(nr->dstport));
@@ -394,14 +394,14 @@ cnfp_v6_print(netdissect_options *ndo, const u_char *cp)
EXTRACT_BE_U_4(nr->last_time)%1000);
asbuf[0] = buf[0] = '\0';
- snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->src_mask));
- snprintf(asbuf, sizeof(asbuf), ":%u",
+ nd_snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->src_mask));
+ nd_snprintf(asbuf, sizeof(asbuf), ":%u",
EXTRACT_BE_U_2(nr->src_as));
ND_PRINT("\n %s%s%s:%u ", intoa(nr->src_ina.s_addr), buf, asbuf,
EXTRACT_BE_U_2(nr->srcport));
- snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->dst_mask));
- snprintf(asbuf, sizeof(asbuf), ":%u",
+ nd_snprintf(buf, sizeof(buf), "/%u", EXTRACT_U_1(nr->dst_mask));
+ nd_snprintf(asbuf, sizeof(asbuf), ":%u",
EXTRACT_BE_U_2(nr->dst_as));
ND_PRINT("> %s%s%s:%u ", intoa(nr->dst_ina.s_addr), buf, asbuf,
EXTRACT_BE_U_2(nr->dstport));
@@ -429,7 +429,7 @@ cnfp_v6_print(netdissect_options *ndo, const u_char *cp)
}
buf[0]='\0';
- snprintf(buf, sizeof(buf), "(%u<>%u encaps)",
+ nd_snprintf(buf, sizeof(buf), "(%u<>%u encaps)",
(EXTRACT_BE_U_2(nr->flags) >> 8) & 0xff,
(EXTRACT_BE_U_2(nr->flags)) & 0xff);
ND_PRINT("tos %u, %u (%u octets) %s",