/* \summary: IPv6 routing header printer */
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include "netdissect-stdinc.h"
+#define ND_LONGJMP_FROM_TCHECK
#include "netdissect.h"
#include "addrtoname.h"
#include "extract.h"
case IPV6_SRH_TLV_PADN:
ND_ICHECKMSG_U("PadN length", tlv_len, >, 5); /* RFC 8754 */
ND_ICHECKMSG_U("remaining length", bytes_left, <, tlv_len);
+ ND_TCHECK_LEN(p, tlv_len);
p += tlv_len;
bytes_left -= tlv_len;
break;
/*(*/
ND_PRINT(") ");
return((GET_U_1(dp0->ip6r0_len) + 1) << 3);
- break;
case IPV6_RTHDR_TYPE_4:
srh = (const struct ip6_srh *)dp;
last_entry = GET_U_1(srh->srh_last_ent);
/*(*/
ND_PRINT(") ");
return((GET_U_1(srh->srh_len) + 1) << 3);
- break;
default:
ND_PRINT(" (unknown type)");
goto invalid;