In ovn_igmp_group_get_ports(), it accesses a union member that should exist only if the port is a LSP: port->peer->od->mcast_info.rtr.relay. But in theory it is possible that the "port" is in fact a LRP, because it is a result of ovn_port_find() with the port name coming from a SB DB entry. So it is better to validate that first.
Signed-off-by: Han Zhou <[email protected]> --- northd/northd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/northd/northd.c b/northd/northd.c index 0944a7b5673f..2d82eccfeff8 100644 --- a/northd/northd.c +++ b/northd/northd.c @@ -4871,7 +4871,7 @@ ovn_igmp_group_get_ports(const struct sbrec_igmp_group *sb_igmp_group, struct ovn_port *port = ovn_port_find(ovn_ports, sb_igmp_group->ports[i]->logical_port); - if (!port) { + if (!port || !port->nbsp) { continue; } -- 2.30.2 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
