diff options
| author | Joseph Mingrone <jrm@FreeBSD.org> | 2023-06-07 02:21:27 +0000 |
|---|---|---|
| committer | Joseph Mingrone <jrm@FreeBSD.org> | 2025-01-29 19:29:29 +0000 |
| commit | e5258a079df39bc40ccfd96e107784f9252170ac (patch) | |
| tree | 2efa70bb8db8c8997e21a6c10316a8c252167f33 /contrib/tcpdump/missing/snprintf.c | |
| parent | 33c859c48732471ba9d331e4f758aebe819d604b (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.c | 119 |
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 - |
