aboutsummaryrefslogtreecommitdiff
path: root/contrib/tcpdump/missing/snprintf.c
diff options
context:
space:
mode:
authorJoseph Mingrone <jrm@FreeBSD.org>2023-06-07 02:21:27 +0000
committerJoseph Mingrone <jrm@FreeBSD.org>2025-01-29 19:29:29 +0000
commite5258a079df39bc40ccfd96e107784f9252170ac (patch)
tree2efa70bb8db8c8997e21a6c10316a8c252167f33 /contrib/tcpdump/missing/snprintf.c
parent33c859c48732471ba9d331e4f758aebe819d604b (diff)
tpcdump: Update to 4.99.4
Prior to this MFC, the stable/13 tcpdump was at version 4.9.3, which was released over five years ago. Several CVEs have been identified in that version. For a detailed list, see https://www.tcpdump.org/public-cve-list.txt. Reviewed by: kp (print-pf changes) Sponsored by: The FreeBSD Foundation (cherry picked from commit 1cdec2832d051ddcb1417f3f2601e6212aff2613) (cherry picked from commit ee67461e56828dd1f8de165947ba83f6d9148a87) (cherry picked from commit a75d93a74d55d371876f5444075de4ecd685297f) (cherry picked from commit 171a7bbfc04885150401ab64d96793373a8b2061) (cherry picked from commit 1ad8d2ee1f7dec1d747ec955a68fbbb362958315) (cherry picked from commit 7e0a7ef95fac1183854cab662bd9afa4647422d6) (cherry picked from commit 85247ee6a2ba1c2dd0053e9be9055efa4be1438e) Commit 1cdec2832d051ddcb1417f3f2601e6212aff2613 has been adapted for stable/13. Changes to usr.sbin/ndp/ndp_netlink.c have been omitted because 91fbe0819bb9 (ndp: convert ndp(8) to netlink) has not been MFCed. Commit ee67461e56828dd1f8de165947ba83f6d9148a87 has been adapted for stable/13. Most modifications were required because 4bf98559d9d6fa7c3571d26ed6f2b18823e3a30b was not MFCed to stable/13. Also incorporate a small change from 4848eb3af2a91b133c4b70cb9b71dd92ffec7f46 to fix the build.
Diffstat (limited to 'contrib/tcpdump/missing/snprintf.c')
-rw-r--r--contrib/tcpdump/missing/snprintf.c119
1 files changed, 2 insertions, 117 deletions
diff --git a/contrib/tcpdump/missing/snprintf.c b/contrib/tcpdump/missing/snprintf.c
index 921b74c1df3f..dfff6ee08861 100644
--- a/contrib/tcpdump/missing/snprintf.c
+++ b/contrib/tcpdump/missing/snprintf.c
@@ -67,25 +67,6 @@ struct state {
/* XXX - methods */
};
-#ifndef HAVE_VSNPRINTF
-static int
-sn_reserve (struct state *state, size_t n)
-{
- return state->s + n > state->theend;
-}
-
-static int
-sn_append_char (struct state *state, unsigned char c)
-{
- if (sn_reserve (state, 1)) {
- return 1;
- } else {
- *state->s++ = c;
- return 0;
- }
-}
-#endif
-
#if 0
static int
as_reserve (struct state *state, size_t n)
@@ -430,7 +411,7 @@ xyzprintf (struct state *state, const char *char_format, va_list ap)
break;
}
case 'n' : {
- int *arg = va_arg(ap, int*);
+ int *arg = va_arg(ap, int *);
*arg = state->s - state->str;
break;
}
@@ -454,37 +435,6 @@ xyzprintf (struct state *state, const char *char_format, va_list ap)
return 0;
}
-#ifndef HAVE_SNPRINTF
-int
-snprintf (char *str, size_t sz, const char *format, ...)
-{
- va_list args;
- int ret;
-
- va_start(args, format);
- ret = vsnprintf (str, sz, format, args);
-
-#ifdef PARANOIA
- {
- int ret2;
- char *tmp;
-
- tmp = malloc (sz);
- if (tmp == NULL)
- abort ();
-
- ret2 = vsprintf (tmp, format, args);
- if (ret != ret2 || strcmp(str, tmp))
- abort ();
- free (tmp);
- }
-#endif
-
- va_end(args);
- return ret;
-}
-#endif
-
#if 0
#ifndef HAVE_ASPRINTF
int
@@ -516,48 +466,9 @@ asprintf (char **ret, const char *format, ...)
}
#endif
-#ifndef HAVE_ASNPRINTF
-int
-asnprintf (char **ret, size_t max_sz, const char *format, ...)
-{
- va_list args;
- int val;
-
- va_start(args, format);
- val = vasnprintf (ret, max_sz, format, args);
-
-#ifdef PARANOIA
- {
- int ret2;
- char *tmp;
- tmp = malloc (val + 1);
- if (tmp == NULL)
- abort ();
-
- ret2 = vsprintf (tmp, format, args);
- if (val != ret2 || strcmp(*ret, tmp))
- abort ();
- free (tmp);
- }
-#endif
-
- va_end(args);
- return val;
-}
-#endif
-
-#ifndef HAVE_VASPRINTF
-int
-vasprintf (char **ret, const char *format, va_list args)
-{
- return vasnprintf (ret, 0, format, args);
-}
-#endif
-
-
#ifndef HAVE_VASNPRINTF
int
-vasnprintf (char **ret, size_t max_sz, const char *format, va_list args)
+nd_vasnprintf (char **ret, size_t max_sz, const char *format, va_list args)
{
int st;
size_t len;
@@ -597,29 +508,3 @@ vasnprintf (char **ret, size_t max_sz, const char *format, va_list args)
}
#endif
#endif
-
-#ifndef HAVE_VSNPRINTF
-int
-vsnprintf (char *str, size_t sz, const char *format, va_list args)
-{
- struct state state;
- int ret;
- unsigned char *ustr = (unsigned char *)str;
-
- state.max_sz = 0;
- state.sz = sz;
- state.str = ustr;
- state.s = ustr;
- state.theend = ustr + sz - 1;
- state.append_char = sn_append_char;
- state.reserve = sn_reserve;
-
- ret = xyzprintf (&state, format, args);
- *state.s = '\0';
- if (ret)
- return sz;
- else
- return state.s - state.str;
-}
-#endif
-