diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 750c0119c9..c243f4b0e3 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -514,6 +514,7 @@ static int bgp_write_notify(struct peer *peer) /* only connection reset/close gets counted as TCP_fatal_error, failure * to write the entire NOTIFY doesn't get different FSM treatment */ if (ret <= 0) { + stream_free(s); BGP_EVENT_ADD(peer, TCP_fatal_error); return 0; } @@ -543,6 +544,8 @@ static int bgp_write_notify(struct peer *peer) Connect instead of Idle */ BGP_EVENT_ADD(peer, BGP_Stop); + stream_free(s); + return 0; }