diff options
author | Peter Pentchev <roam@ringlet.net> | 2011-09-12 16:30:31 +0400 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2011-09-25 18:13:40 +0400 |
commit | 74ffab30c360e2a603247f574577b3a8a74db4b2 (patch) | |
tree | 0eb1be441937b698ef210ba7e57ca07822d1a0e0 | |
parent | c8049c165cdab08cb8024881376080b58ebc9eae (diff) |
bgpd: fix parsing of graceful restart cap. (#663)
"While setting up a testbed, I ran across a little problem in the
parsing of the "graceful restart" BGP capability that resulted in
Quagga not actually activating it for the peer in question - when
the peer sent a single AFI/SAFI block."
* bgp_open.c
* bgp_capability_restart(): actually process the last AFI/SAFI block
-rw-r--r-- | bgpd/bgp_open.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 31b7369d..82deb3d0 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -380,7 +380,7 @@ bgp_capability_restart (struct peer *peer, struct capability_header *caphdr) peer->v_gr_restart); } - while (stream_get_getp (s) + 4 < end) + while (stream_get_getp (s) + 4 <= end) { afi_t afi = stream_getw (s); safi_t safi = stream_getc (s); |