summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2025-02-28 10:40:35 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2025-02-28 11:34:36 -0300
commitcacdff75a6fc9c4fa983408c6035d6763161788a (patch)
treeca23c646f8e1add9f7df606e1f5dd52ba64452ee
parentd49561e32a8ea870a4597e56591cd4ca44abaa7c (diff)
pimd: fix null memory access on IGMP source limit
When the IGMP group source limit is reached the function `igmp_get_source_by_addr` won't return a `struct gm_source` so we must test for that condition before attempting to access its fields. Fixes coverity scan issue 1637406. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
-rw-r--r--pimd/pim_igmpv3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c
index 2de2b32688..3cbab499db 100644
--- a/pimd/pim_igmpv3.c
+++ b/pimd/pim_igmpv3.c
@@ -843,7 +843,7 @@ static void toex_incl(struct gm_group *group, int num_sources,
/* Lookup reported source (B) */
source = igmp_get_source_by_addr(group, *src_addr, &new);
- if (!new) {
+ if (!new && source != NULL) {
/* If found, clear deletion flag: (A*B) */
IGMP_SOURCE_DONT_DELETE(source->source_flags);
/* and set SEND flag (A*B) */