Don't try to match invalid expressions, so things like 'dump_portguid *' will not crash.
Free memory allocated by regcomp() and for regexp list. Signed-off-by: Sasha Khapyorsky <sas...@voltaire.com> --- opensm/opensm/osm_console.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/opensm/opensm/osm_console.c b/opensm/opensm/osm_console.c index a66a7d3..0f26e51 100644 --- a/opensm/opensm/osm_console.c +++ b/opensm/opensm/osm_console.c @@ -1247,6 +1247,8 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out) fprintf(out, "Couldn't parse regular expression %s. Skipping it.\n", p_cmd); + free(p_regexp); + continue; } p_regexp->next = p_head_regexp; p_head_regexp = p_regexp; @@ -1292,6 +1294,11 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out) if (output != out) fclose(output); + for (; p_head_regexp; p_head_regexp = p_regexp) { + p_regexp = p_head_regexp->next; + regfree(&p_head_regexp->exp); + free(p_head_regexp); + } } static void help_dump_portguid(FILE * out, int detail) -- 1.6.1.2.319.gbd9e _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general