diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index b27d127cdf68f996ee4f96ce24aa51044e31bf9f..1f29e4fe7af08e6faa766ea63ed08540e955620a 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -412,8 +412,10 @@ static int __open_dso(struct dso *dso, struct machine *machine) return -EINVAL; } - if (!is_regular_file(name)) + if (!is_regular_file(name)) { + free(name); return -EINVAL; + } fd = do_open(name); free(name);