]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-bgp.c
infinite loop protection for ldp and bgp
[tcpdump] / print-bgp.c
index 669086b7dd36adec1be05db6791d866bf7054d1a..08908019f8845fa3d9ffcdfcc16bb254cedc1b5c 100644 (file)
@@ -36,7 +36,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-     "@(#) $Header: /tcpdump/master/tcpdump/print-bgp.c,v 1.72.2.4 2004-03-24 00:04:04 guy Exp $";
+     "@(#) $Header: /tcpdump/master/tcpdump/print-bgp.c,v 1.72.2.5 2005-04-27 18:42:28 hannes Exp $";
 #endif
 
 #include <tcpdump-stdinc.h>
@@ -1216,6 +1216,8 @@ bgp_attr_print(const struct bgp_attr *attr, const u_char *pptr, int len)
                             tptr = pptr + len;
                             break;
                        }
+                        if (advance < 0) /* infinite loop protection */
+                            break;
                        tptr += advance;
                }
                break;