perf: avoid leaks in dtor

From what address sanitizer tells me, we need to tell delete what type
it is deleting.

Signed-off-by: Julian Oes <julian@oes.ch>
This commit is contained in:
Julian Oes 2023-01-18 14:29:18 +13:00 committed by Daniel Agar
parent 8123090571
commit 35d6b734f5

View File

@ -181,7 +181,22 @@ perf_free(perf_counter_t handle)
sq_rem(&handle->link, &perf_counters);
pthread_mutex_unlock(&perf_counters_mutex);
delete handle;
switch (handle->type) {
case PC_COUNT:
delete (struct perf_ctr_count *)handle;
break;
case PC_ELAPSED:
delete (struct perf_ctr_elapsed *)handle;
break;
case PC_INTERVAL:
delete (struct perf_ctr_interval *)handle;
break;
default:
break;
}
}
void