mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 09:00:55 +00:00
bgpd: Set ADD-PATH capability received flag only if parsed correctly
If we receive a malformed packet, we might end-up with a bad state. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
This commit is contained in:
parent
b571176aea
commit
9b178d246e
@ -662,8 +662,6 @@ static int bgp_capability_addpath(struct peer *peer,
|
||||
struct stream *s = BGP_INPUT(peer);
|
||||
size_t end = stream_get_getp(s) + hdr->length;
|
||||
|
||||
SET_FLAG(peer->cap, PEER_CAP_ADDPATH_RCV);
|
||||
|
||||
/* Verify length is a multiple of 4 */
|
||||
if (hdr->length % CAPABILITY_CODE_ADDPATH_LEN) {
|
||||
flog_warn(
|
||||
@ -673,6 +671,8 @@ static int bgp_capability_addpath(struct peer *peer,
|
||||
return -1;
|
||||
}
|
||||
|
||||
SET_FLAG(peer->cap, PEER_CAP_ADDPATH_RCV);
|
||||
|
||||
while (stream_get_getp(s) + CAPABILITY_CODE_ADDPATH_LEN <= end) {
|
||||
afi_t afi;
|
||||
safi_t safi;
|
||||
|
Loading…
Reference in New Issue
Block a user