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
diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c
index 31b7369..82deb3d 100644
--- a/bgpd/bgp_open.c
+++ b/bgpd/bgp_open.c
@@ -380,7 +380,7 @@
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);