[ofa-general] [PATCH] opensm/osm_mcast_mgr: fix memory leak
Sasha Khapyorsky
sashak at voltaire.com
Sun Oct 19 10:58:27 PDT 2008
In case when switch is member of MC group mcast working object must be
freed after routing was set.
Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
---
opensm/opensm/osm_mcast_mgr.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/opensm/opensm/osm_mcast_mgr.c b/opensm/opensm/osm_mcast_mgr.c
index c4cd632..c9fed40 100644
--- a/opensm/opensm/osm_mcast_mgr.c
+++ b/opensm/opensm/osm_mcast_mgr.c
@@ -671,11 +671,17 @@ static osm_mtree_node_t *__osm_mcast_mgr_branch(osm_sm_t * sm,
table for this switch.
*/
osm_mcast_tbl_set(p_tbl, mlid_ho, i);
- if (i == 0)
+ if (i == 0) {
/* This means we are adding the switch to the MC group.
We do not need to continue looking at the remote port, just
needed to add the port to the table */
+ CL_ASSERT(count == 1);
+
+ p_wobj = (osm_mcast_work_obj_t *)
+ cl_qlist_remove_head(p_port_list);
+ __osm_mcast_work_obj_delete(p_wobj);
continue;
+ }
p_node = p_sw->p_node;
p_remote_node = osm_node_get_remote_node(p_node, i, NULL);
--
1.6.0.2.287.g3791f
More information about the general
mailing list