Commit cdf13c09 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent efe98a7a
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -2917,7 +2917,6 @@ 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);
		evsel->name = new_name;
		scnprintf(msg, msgsize, "kernel.perf_event_paranoid=%d, trying "
@@ -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);
	}