perf util: Fix memory leak of prefix_if_not_in
authorXie XiuQi <xiexiuqi@huawei.com>
Thu, 21 May 2020 13:32:17 +0000 (21:32 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 28 May 2020 13:03:27 +0000 (10:03 -0300)
Need to free "str" before return when asprintf() failed to avoid memory
leak.

Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Hongbo Yao <yaohongbo@huawei.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Li Bin <huawei.libin@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lore.kernel.org/lkml/20200521133218.30150-4-liwei391@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/sort.c

index c1f8879f92cca419b3d44941caf6f8580f3de9be..d42339df20f8d706091cbc8aff817776b00563ac 100644 (file)
@@ -2817,7 +2817,7 @@ static char *prefix_if_not_in(const char *pre, char *str)
                return str;
 
        if (asprintf(&n, "%s,%s", pre, str) < 0)
-               return NULL;
+               n = NULL;
 
        free(str);
        return n;