]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ip-demux.c
BGP: Address a -Wformat-truncation= compiler warning
[tcpdump] / print-ip-demux.c
index 9d562d775ee9df54a4d0c88b63c659462defed32..8b53187cc29172e65daec8b91d00742e5e20d54d 100644 (file)
@@ -161,7 +161,13 @@ again:
                break;
 
        case IPPROTO_IGMP:
-               igmp_print(ndo, bp, length);
+               if (ver == 4)
+                       igmp_print(ndo, bp, length);
+               else {
+                       ND_PRINT("[%s requires IPv4]",
+                                tok2str(ipproto_values,"unknown",nh));
+                       nd_print_invalid(ndo);
+               }
                break;
 
        case IPPROTO_IPV4:
@@ -202,6 +208,16 @@ again:
                pgm_print(ndo, bp, length, iph);
                break;
 
+       case IPPROTO_ETHERNET:
+               if (ver == 6)
+                       ether_print(ndo, bp, length, ND_BYTES_AVAILABLE_AFTER(bp), NULL, NULL);
+               else {
+                       ND_PRINT("[%s requires IPv6]",
+                                tok2str(ipproto_values,"unknown",nh));
+                       nd_print_invalid(ndo);
+               }
+               break;
+
        case IPPROTO_NONE:
                ND_PRINT("no next header");
                break;