mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 01:15:12 +00:00
Merge pull request #6160 from qlyoung/fix-pim-bsm-negative-shift
pimd: fix negative bitshift in BSM code
This commit is contained in:
commit
6b1d9f37ec
@ -1282,6 +1282,13 @@ int pim_bsm_process(struct interface *ifp, struct ip *ip_hdr, uint8_t *buf,
|
|||||||
bshdr = (struct bsm_hdr *)(buf + PIM_MSG_HEADER_LEN);
|
bshdr = (struct bsm_hdr *)(buf + PIM_MSG_HEADER_LEN);
|
||||||
pim_inet4_dump("<bsr?>", bshdr->bsr_addr.addr, bsr_str,
|
pim_inet4_dump("<bsr?>", bshdr->bsr_addr.addr, bsr_str,
|
||||||
sizeof(bsr_str));
|
sizeof(bsr_str));
|
||||||
|
if (bshdr->hm_len > 32) {
|
||||||
|
zlog_warn("Bad hashmask length for IPv4; got %" PRIu8
|
||||||
|
", expected value in range 0-32",
|
||||||
|
bshdr->hm_len);
|
||||||
|
pim->bsm_dropped++;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
pim->global_scope.hashMasklen = bshdr->hm_len;
|
pim->global_scope.hashMasklen = bshdr->hm_len;
|
||||||
frag_tag = ntohs(bshdr->frag_tag);
|
frag_tag = ntohs(bshdr->frag_tag);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user