From 2e02b9b2d1ed29975001d6917f9f726854ec5559 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 8 Sep 2015 06:24:21 -0700 Subject: [PATCH] Fix bgp_exit crash Ticket: CM-7358 Reviewed-by: CCR-3462 Testing: See bug --- bgpd/bgp_route.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 3827fb436a..33d822dad6 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -2213,6 +2213,10 @@ bgp_process (struct bgp *bgp, struct bgp_node *rn, afi_t afi, safi_t safi) if (CHECK_FLAG (rn->flags, BGP_NODE_PROCESS_SCHEDULED)) return; + if ( (bm->process_main_queue == NULL) || + (bm->process_rsclient_queue == NULL) ) + bgp_process_queue_init (); + pqnode = XCALLOC (MTYPE_BGP_PROCESS_QUEUE, sizeof (struct bgp_process_queue)); if (!pqnode) @@ -2245,6 +2249,10 @@ bgp_add_eoiu_mark (struct bgp *bgp, bgp_table_t type) { struct bgp_process_queue *pqnode; + if ( (bm->process_main_queue == NULL) || + (bm->process_rsclient_queue == NULL) ) + bgp_process_queue_init (); + pqnode = XCALLOC (MTYPE_BGP_PROCESS_QUEUE, sizeof (struct bgp_process_queue)); if (!pqnode) -- 2.39.5