summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_open.c
diff options
context:
space:
mode:
authorpaulo <paul@bayleaf.org.uk>2010-02-01 17:19:12 +0000
committerpaulo <paul@bayleaf.org.uk>2010-02-01 17:19:12 +0000
commitb5be77ccc56a4345fd18c97f2daa7cf4342a2438 (patch)
tree12226fed6fea36de8c6d484439960c919c4642d1 /bgpd/bgp_open.c
parent6e75be0d8cb3810692b78292f827b58f69a4c67c (diff)
downloadquagga-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.c7
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)
{