From 0ea0cdb9608301905d992c22bdc58f87755ca605 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 3 Mar 2017 10:24:15 -0500 Subject: [PATCH] bgpd: Only send data if we have something to send When shutting down, only send with data if we have something to send. Signed-off-by: Donald Sharp --- bgpd/bgpd.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 745b86c4ee..095f0fce6f 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -3825,14 +3825,20 @@ peer_flag_modify_action (struct peer *peer, u_int32_t flag) if (msglen > 128) msglen = 128; - u_char msgbuf[129]; + if (msglen) + { + u_char msgbuf[129]; - msgbuf[0] = msglen; - memcpy(msgbuf + 1, msg, msglen); + msgbuf[0] = msglen; + memcpy(msgbuf + 1, msg, msglen); - bgp_notify_send_with_data (peer, BGP_NOTIFY_CEASE, - BGP_NOTIFY_CEASE_ADMIN_SHUTDOWN, - msgbuf, msglen + 1); + bgp_notify_send_with_data (peer, BGP_NOTIFY_CEASE, + BGP_NOTIFY_CEASE_ADMIN_SHUTDOWN, + msgbuf, msglen + 1); + } + else + bgp_notify_send (peer, BGP_NOTIFY_CEASE, + BGP_NOTIFY_CEASE_ADMIN_SHUTDOWN); } else bgp_session_reset(peer); -- 2.39.5