]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Do the length checks only for IP options with a length field.
authorguy <guy>
Wed, 24 Mar 2004 09:00:08 +0000 (09:00 +0000)
committerguy <guy>
Wed, 24 Mar 2004 09:00:08 +0000 (09:00 +0000)
print-ip.c

index 9357abac74945594d2c50dad4be2186d069752d3..97ce83a547b35ea0fe8e1d4f3ed31e14d5274673 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.134 2004-03-24 01:26:56 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.135 2004-03-24 09:00:08 guy Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -200,12 +200,12 @@ ip_optprint(register const u_char *cp, u_int length)
                else {
                        TCHECK(cp[1]);
                        len = cp[1];
+                       if (len < 2) {
+                               printf("[|ip op len %d]", len);
+                               return;
+                       }
+                       TCHECK2(*cp, len);
                }
-               if (len < 2) {
-                       printf("[|ip op len %d]", len);
-                       return;
-               }
-               TCHECK2(*cp, len);
                switch (tt) {
 
                case IPOPT_EOL: