]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pimd: fix misplaced braces/logic error
authorDavid Lamparter <equinox@opensourcerouting.org>
Tue, 25 Jun 2024 12:37:27 +0000 (14:37 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Wed, 26 Jun 2024 14:15:13 +0000 (16:15 +0200)
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 <equinox@opensourcerouting.org>
pimd/pim_rp.c

index b0fb8a509af2832065013a5df56b5c90259d1a22..4703ff8a6a0a77cffb1bfc3324ef61419eac41de 100644 (file)
@@ -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__);