]> The Tcpdump Group git mirrors - tcpdump/commitdiff
avoid infinite loop on len=0
authoritojun <itojun>
Fri, 26 May 2000 09:32:00 +0000 (09:32 +0000)
committeritojun <itojun>
Fri, 26 May 2000 09:32:00 +0000 (09:32 +0000)
print-cdp.c

index 798b8f060d355f74bdd1a2130284ef38f872d210..7ad14274d17dd824ee0e0f2da55625f26c2cc895 100644 (file)
@@ -26,7 +26,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-cdp.c,v 1.2 2000-05-16 23:54:55 assar Exp $";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-cdp.c,v 1.3 2000-05-26 09:32:00 itojun Exp $";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -120,8 +120,11 @@ cdp_print(const u_char *p, u_int length, u_int caplen,
            default:
                printf( " unknown field type %02x, len %d", type, len );
            }
-           i+=len;
 
+           /* avoid infinite loop */
+           if (len == 0)
+               break;
+           i+=len;
        }
 }