]> 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:01:39 +0000 (09:01 +0000)
committerguy <guy>
Wed, 24 Mar 2004 09:01:39 +0000 (09:01 +0000)
print-ip.c

index f1f08d2753c4d33f24ee9e4a2346061d551fa669..4773d363acebcb46da5cc7a091a81ae352fc6bb2 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.128.2.5 2004-03-24 01:27:29 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.128.2.6 2004-03-24 09:01:39 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: