]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_rp.c
pimd: Various buffer overflow reads and crashes
[mirror_frr.git] / pimd / pim_rp.c
index 14643743ad8fc4fd28f7c38f0beabc7b81244d17..14b70d4ba79d3a49fadb669a2b0e71742f1da933 100644 (file)
@@ -1002,8 +1002,8 @@ int pim_rp_set_upstream_addr(struct pim_instance *pim, struct in_addr *up,
 
        rp_info = pim_rp_find_match_group(pim, &g);
 
-       if ((pim_rpf_addr_is_inaddr_none(&rp_info->rp))
-           && (source.s_addr == INADDR_ANY)) {
+       if (!rp_info || ((pim_rpf_addr_is_inaddr_none(&rp_info->rp))
+                        && (source.s_addr == INADDR_ANY))) {
                if (PIM_DEBUG_PIM_NHT_RP)
                        zlog_debug("%s: Received a (*,G) with no RP configured",
                                   __PRETTY_FUNCTION__);