diff mbox

opensm/osm_ucast_ftree.c: fixing another memory leak at error path

Message ID 4C86563B.4070007@mellanox.co.il (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Yevgeny Kliteynik Sept. 7, 2010, 3:11 p.m. UTC
None
diff mbox

Patch

diff --git a/opensm/opensm/osm_ucast_ftree.c b/opensm/opensm/osm_ucast_ftree.c
index fb46d0f..d161bc8 100644
--- a/opensm/opensm/osm_ucast_ftree.c
+++ b/opensm/opensm/osm_ucast_ftree.c
@@ -1670,13 +1670,13 @@  static int fabric_create_leaf_switch_array(IN ftree_fabric_t * p_ftree)
 	       &(all_switches_at_leaf_level[first_leaf_idx]),
 	       p_ftree->leaf_switches_num * sizeof(ftree_sw_t *));

-	free(all_switches_at_leaf_level);
-
 	OSM_LOG(&p_ftree->p_osm->log, OSM_LOG_DEBUG,
 		"Created array of %u leaf switches\n",
 		p_ftree->leaf_switches_num);

 Exit:
+	if (all_switches_at_leaf_level)
+		free(all_switches_at_leaf_level);
 	OSM_LOG_EXIT(&p_ftree->p_osm->log);
 	return res;
 }				/* fabric_create_leaf_switch_array() */