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

Reply via email to