From: Arnaldo Carvalho de Melo Date: Wed, 12 Apr 2023 12:50:08 +0000 (-0300) Subject: perf x86 iostat: Use zfree() to reduce chances of use after free X-Git-Tag: v6.6.7~2868^2~96 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=313b4c1ccdb273f6733e8c44948f8c7141f592a4;p=platform%2Fkernel%2Flinux-starfive.git perf x86 iostat: Use zfree() to reduce chances of use after free Do defensive programming by using zfree() to initialize freed pointers to NULL, so that eventual use after free result in a NULL pointer deref instead of more subtle behaviour. Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/arch/x86/util/iostat.c b/tools/perf/arch/x86/util/iostat.c index 7eb0a7b..df7b5df 100644 --- a/tools/perf/arch/x86/util/iostat.c +++ b/tools/perf/arch/x86/util/iostat.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -100,8 +101,8 @@ static void iio_root_ports_list_free(struct iio_root_ports_list *list) if (list) { for (idx = 0; idx < list->nr_entries; idx++) - free(list->rps[idx]); - free(list->rps); + zfree(&list->rps[idx]); + zfree(&list->rps); free(list); } } @@ -390,7 +391,7 @@ void iostat_release(struct evlist *evlist) evlist__for_each_entry(evlist, evsel) { if (rp != evsel->priv) { rp = evsel->priv; - free(evsel->priv); + zfree(&evsel->priv); } } }