Signed-off-by: Yevgeny Kliteynik <klit...@dev.mellanox.co.il> --- opensm/opensm/osm_console.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/opensm/opensm/osm_console.c b/opensm/opensm/osm_console.c index bc7bea3..29a6c83 100644 --- a/opensm/opensm/osm_console.c +++ b/opensm/opensm/osm_console.c @@ -1302,12 +1302,13 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out) /* Check we have at least one expression to match */ if (p_head_regexp == NULL) { fprintf(out, "No valid expression provided. Aborting\n"); + goto Exit; return; } if (p_osm->sm.p_subn->need_update != 0) { fprintf(out, "Subnet is not ready yet. Try again later\n"); - return; + goto Free_and_exit; } /* Subnet doesn't need to be updated so we can carry on */ @@ -1333,14 +1334,16 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out) } CL_PLOCK_RELEASE(p_osm->sm.p_lock); - if (output != out) - fclose(output); +Free_and_exit: for (; p_head_regexp; p_head_regexp = p_regexp) { p_regexp = p_head_regexp->next; regfree(&p_head_regexp->exp); free(p_head_regexp); } +Exit: + if (output != out) + fclose(output); } static void help_dump_portguid(FILE * out, int detail) -- 1.6.2.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html