mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 23:13:38 -04:00
perf evsel: 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. Also remove one NULL test before free(), as it accepts a NULL arg and we get one line shaved not doing it explicitely. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -2917,8 +2917,7 @@ bool evsel__fallback(struct evsel *evsel, int err, char *msg, size_t msgsize)
|
||||
if (asprintf(&new_name, "%s%su", name, sep) < 0)
|
||||
return false;
|
||||
|
||||
if (evsel->name)
|
||||
free(evsel->name);
|
||||
free(evsel->name);
|
||||
evsel->name = new_name;
|
||||
scnprintf(msg, msgsize, "kernel.perf_event_paranoid=%d, trying "
|
||||
"to fall back to excluding kernel and hypervisor "
|
||||
@@ -3156,7 +3155,7 @@ void evsel__zero_per_pkg(struct evsel *evsel)
|
||||
|
||||
if (evsel->per_pkg_mask) {
|
||||
hashmap__for_each_entry(evsel->per_pkg_mask, cur, bkt)
|
||||
free((void *)cur->pkey);
|
||||
zfree(&cur->pkey);
|
||||
|
||||
hashmap__clear(evsel->per_pkg_mask);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user