diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2008-07-22 21:11:48 +0000 | 
|---|---|---|
| committer | Paul Jakma <paul.jakma@sun.com> | 2008-07-22 21:11:48 +0000 | 
| commit | 750e814693050bc97391eec618aad9db798ee5e8 (patch) | |
| tree | 03d3e27a68b0593002d8f73609235919c030e426 /bgpd/bgp_advertise.c | |
| parent | 851a1a5c146b346d8b8f58fe3924baa5c208f865 (diff) | |
[bgpd] Fix triggerable crash when compiled with --disable-bgp-announce
2008-07-22 Paul Jakma <paul.jakma@sun.com>
	* HACKING: Document preference for compiler conditional code, over
	  cpp conditional.
	* configure.ac: DISABLE_BGP_ANNOUNCE always should be defined.
	* bgp_{packet,route,advertise}.c: change to compiler testing of
	  DISABLE_BGP_ANNOUNCE, rather than cpp.
2008-07-22 MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp>
	* bgp_packet.c: (bgp_update_packet_eor) Fix crash triggerable
	  if a bgpd was compiled with --disable-bgp-announce and if GR is
	  advertised by peer.
Diffstat (limited to 'bgpd/bgp_advertise.c')
| -rw-r--r-- | bgpd/bgp_advertise.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/bgpd/bgp_advertise.c b/bgpd/bgp_advertise.c index 73b868a82b..870aab134d 100644 --- a/bgpd/bgp_advertise.c +++ b/bgpd/bgp_advertise.c @@ -220,9 +220,8 @@ bgp_adj_out_set (struct bgp_node *rn, struct peer *peer, struct prefix *p,    struct bgp_adj_out *adj = NULL;    struct bgp_advertise *adv; -#ifdef DISABLE_BGP_ANNOUNCE -  return; -#endif /* DISABLE_BGP_ANNOUNCE */ +  if (DISABLE_BGP_ANNOUNCE) +    return;    /* Look for adjacency information. */    if (rn) @@ -274,9 +273,8 @@ bgp_adj_out_unset (struct bgp_node *rn, struct peer *peer, struct prefix *p,    struct bgp_adj_out *adj;    struct bgp_advertise *adv; -#ifdef DISABLE_BGP_ANNOUNCE -  return; -#endif /* DISABLE_BGP_ANNOUNCE */ +  if (DISABLE_BGP_ANNOUNCE) +    return;    /* Lookup existing adjacency, if it is not there return immediately.  */    for (adj = rn->adj_out; adj; adj = adj->next)  | 
