perf list: 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 <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2023-04-12 09:50:08 -03:00
Родитель 190de75481
Коммит b20c63084e
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -127,7 +127,7 @@ static void default_print_event(void *ps, const char *pmu_name, const char *topi
if (strcmp(print_state->last_topic, topic ?: "")) {
if (topic)
printf("\n%s:\n", topic);
free(print_state->last_topic);
zfree(&print_state->last_topic);
print_state->last_topic = strdup(topic ?: "");
}
@ -197,7 +197,7 @@ static void default_print_metric(void *ps,
else
printf("%s\n", group);
}
free(print_state->last_metricgroups);
zfree(&print_state->last_metricgroups);
print_state->last_metricgroups = strdup(group ?: "");
}
if (!print_state->metrics)