Merge pull request #17103 from opensourcerouting/fix/null_ptr_dereference_bmp_bgp

bgpd: Check if su_local/su_remote exist before encoding BMP peer state
This commit is contained in:
Mark Stapp 2024-10-15 08:24:54 -04:00 committed by GitHub
commit 00e8609e6f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -501,14 +501,14 @@ static struct stream *bmp_peerstate(struct peer *peer, bool down)
}
/* Local Port, Remote Port */
if (is_locrib)
if (!peer->su_local || is_locrib)
stream_putw(s, 0);
else if (peer->su_local->sa.sa_family == AF_INET6)
stream_putw(s, htons(peer->su_local->sin6.sin6_port));
else if (peer->su_local->sa.sa_family == AF_INET)
stream_putw(s, htons(peer->su_local->sin.sin_port));
if (is_locrib)
if (!peer->su_remote || is_locrib)
stream_putw(s, 0);
else if (peer->su_remote->sa.sa_family == AF_INET6)
stream_putw(s, htons(peer->su_remote->sin6.sin6_port));