* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
+/* \summary: Internet Group Management Protocol (IGMP) printer */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include <tcpdump-stdinc.h>
+#include <netdissect-stdinc.h>
-#include "interface.h"
+#include "netdissect.h"
#include "addrtoname.h"
-#include "extract.h" /* must come after interface.h */
+#include "extract.h"
#ifndef IN_CLASSD
#define IN_CLASSD(i) (((int32_t)(i) & 0xf0000000) == 0xe0000000)
register const u_char *bp, register u_int len)
{
u_int mrc;
- int mrt;
+ u_int mrt;
u_int nsrcs;
register u_int i;
if (mrt < 600) {
ND_PRINT((ndo, "%.1fs", mrt * 0.1));
} else {
- relts_print(ndo, mrt / 10);
+ unsigned_relts_print(ndo, mrt / 10);
}
ND_PRINT((ndo, "]"));
}
break;
}
- if (ndo->ndo_vflag && ND_TTEST2(bp[0], len)) {
+ if (ndo->ndo_vflag && len >= 4 && ND_TTEST2(bp[0], len)) {
/* Check the IGMP checksum */
vec[0].ptr = bp;
vec[0].len = len;