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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 11:12:46 +0000 (13:12 +0200)
[ Upstream commit 07e9a6f538cbeecaf5c55b6f2991416f873cdcbd ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/sort.c

index 84a33f1e9ec9222c8a7a7030be59e7b96427ce26..cd870129131e18c18d541a7b1deb9bda77fcb3f1 100644 (file)
@@ -2667,7 +2667,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;