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>
This commit is contained in:
Rafael Zalamena 2025-02-28 10:40:35 -03:00
parent d49561e32a
commit cacdff75a6

View file

@ -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) */