diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-02-01 20:26:42 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-02-01 20:26:42 +0000 |
commit | 3340d77368116708ab5b5b95acf6c9c710528300 (patch) | |
tree | 811e83fd724dc565485db80039bf234ece065b10 /contrib/tcpdump/print-igrp.c | |
parent | 151139ad9e119116ae3692d0b8dd13baf691d55e (diff) | |
parent | d79b843cb78484ea27f877f1541055e1a6a5a4d3 (diff) | |
download | src-3340d77368116708ab5b5b95acf6c9c710528300.tar.gz src-3340d77368116708ab5b5b95acf6c9c710528300.zip |
Update tcpdump to 4.9.0.
It fixes many buffer overflow in different protocol parsers, but none of
them are critical, even in absense of Capsicum.
Security: CVE-2016-7922, CVE-2016-7923, CVE-2016-7924, CVE-2016-7925
Security: CVE-2016-7926, CVE-2016-7927, CVE-2016-7928, CVE-2016-7929
Security: CVE-2016-7930, CVE-2016-7931, CVE-2016-7932, CVE-2016-7933
Security: CVE-2016-7934, CVE-2016-7935, CVE-2016-7936, CVE-2016-7937
Security: CVE-2016-7938, CVE-2016-7939, CVE-2016-7940, CVE-2016-7973
Security: CVE-2016-7974, CVE-2016-7975, CVE-2016-7983, CVE-2016-7984
Security: CVE-2016-7985, CVE-2016-7986, CVE-2016-7992, CVE-2016-7993
Security: CVE-2016-8574, CVE-2016-8575, CVE-2017-5202, CVE-2017-5203
Security: CVE-2017-5204, CVE-2017-5205, CVE-2017-5341, CVE-2017-5342
Security: CVE-2017-5482, CVE-2017-5483, CVE-2017-5484, CVE-2017-5485
Security: CVE-2017-5486
Notes
Notes:
svn path=/head/; revision=313048
Diffstat (limited to 'contrib/tcpdump/print-igrp.c')
-rw-r--r-- | contrib/tcpdump/print-igrp.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/contrib/tcpdump/print-igrp.c b/contrib/tcpdump/print-igrp.c index fbb313427c72..b6eaf3120110 100644 --- a/contrib/tcpdump/print-igrp.c +++ b/contrib/tcpdump/print-igrp.c @@ -21,15 +21,16 @@ * Initial contribution from Francis Dupont (francis.dupont@inria.fr) */ -#define NETDISSECT_REWORKED +/* \summary: Interior Gateway Routing Protocol (IGRP) printer */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include <tcpdump-stdinc.h> +#include <netdissect-stdinc.h> -#include "interface.h" -#include "extract.h" /* must come after interface.h */ +#include "netdissect.h" +#include "extract.h" /* Cisco IGRP definitions */ @@ -65,7 +66,7 @@ struct igrprte { #define IGRP_RTE_SIZE 14 /* don't believe sizeof ! */ static void -igrp_entry_print(netdissect_options *ndo, register struct igrprte *igr, +igrp_entry_print(netdissect_options *ndo, register const struct igrprte *igr, register int is_interior, register int is_exterior) { register u_int delay, bandwidth; @@ -103,12 +104,12 @@ static const struct tok op2str[] = { void igrp_print(netdissect_options *ndo, register const u_char *bp, u_int length) { - register struct igrphdr *hdr; - register u_char *cp; + register const struct igrphdr *hdr; + register const u_char *cp; u_int nint, nsys, next; - hdr = (struct igrphdr *)bp; - cp = (u_char *)(hdr + 1); + hdr = (const struct igrphdr *)bp; + cp = (const u_char *)(hdr + 1); ND_PRINT((ndo, "igrp:")); /* Header */ @@ -130,15 +131,15 @@ igrp_print(netdissect_options *ndo, register const u_char *bp, u_int length) while (length >= IGRP_RTE_SIZE) { if (nint > 0) { ND_TCHECK2(*cp, IGRP_RTE_SIZE); - igrp_entry_print(ndo, (struct igrprte *)cp, 1, 0); + igrp_entry_print(ndo, (const struct igrprte *)cp, 1, 0); --nint; } else if (nsys > 0) { ND_TCHECK2(*cp, IGRP_RTE_SIZE); - igrp_entry_print(ndo, (struct igrprte *)cp, 0, 0); + igrp_entry_print(ndo, (const struct igrprte *)cp, 0, 0); --nsys; } else if (next > 0) { ND_TCHECK2(*cp, IGRP_RTE_SIZE); - igrp_entry_print(ndo, (struct igrprte *)cp, 0, 1); + igrp_entry_print(ndo, (const struct igrprte *)cp, 0, 1); --next; } else { ND_PRINT((ndo, " [extra bytes %d]", length)); |