diff options
author | paulo <paul@bayleaf.org.uk> | 2010-02-01 17:19:12 +0000 |
---|---|---|
committer | paulo <paul@bayleaf.org.uk> | 2010-02-01 17:19:12 +0000 |
commit | b5be77ccc56a4345fd18c97f2daa7cf4342a2438 (patch) | |
tree | 12226fed6fea36de8c6d484439960c919c4642d1 /bgpd/bgp_open.c | |
parent | 6e75be0d8cb3810692b78292f827b58f69a4c67c (diff) | |
download | quagga-b5be77ccc56a4345fd18c97f2daa7cf4342a2438.tar.bz2 quagga-b5be77ccc56a4345fd18c97f2daa7cf4342a2438.tar.xz |
Use session->notification instead of peer's. Fix HUP - race condition.
Diffstat (limited to 'bgpd/bgp_open.c')
-rw-r--r-- | bgpd/bgp_open.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 9e878784..7bcddca0 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -58,8 +58,11 @@ bgp_capability_vty_out (struct vty *vty, struct peer *peer) struct capability_mp_data mpc; struct capability_header *hdr; - pnt = (char*)peer->notify->data; - end = pnt + peer->notify->length; + if (peer == NULL || peer->session == NULL || peer->session->notification == NULL) + return; + + pnt = (char*)peer->session->notification->data; + end = pnt + peer->session->notification->length; while (pnt < end) { |