From: David Lamparter Date: Tue, 25 Jun 2024 12:37:27 +0000 (+0200) Subject: pimd: fix misplaced braces/logic error X-Git-Tag: base_10.2~314^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=163a3f582f671b1ac4a0c21cb97da341c756ed2e;p=matthieu%2Ffrr.git pimd: fix misplaced braces/logic error The `!rp_info ||` check got added during a cleanup pass. Unfortunately the braces/and/or combination is not correct :( Fixes: b1945363fbf ("pimd: Various buffer overflow reads and crashes") Signed-off-by: David Lamparter --- diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c index b0fb8a509a..4703ff8a6a 100644 --- a/pimd/pim_rp.c +++ b/pimd/pim_rp.c @@ -1115,8 +1115,8 @@ int pim_rp_set_upstream_addr(struct pim_instance *pim, pim_addr *up, rp_info = pim_rp_find_match_group(pim, &g); - if (!rp_info || ((pim_rpf_addr_is_inaddr_any(&rp_info->rp)) && - (pim_addr_is_any(source)))) { + if ((!rp_info || (pim_rpf_addr_is_inaddr_any(&rp_info->rp))) && + (pim_addr_is_any(source))) { if (PIM_DEBUG_PIM_NHT_RP) zlog_debug("%s: Received a (*,G) with no RP configured", __func__);