|
@@ -79,7 +79,7 @@ static union perf_event *dup_event(struct ordered_events *oe,
|
|
|
|
|
|
static void free_dup_event(struct ordered_events *oe, union perf_event *event)
|
|
static void free_dup_event(struct ordered_events *oe, union perf_event *event)
|
|
{
|
|
{
|
|
- if (oe->copy_on_queue) {
|
|
|
|
|
|
+ if (event && oe->copy_on_queue) {
|
|
oe->cur_alloc_size -= event->header.size;
|
|
oe->cur_alloc_size -= event->header.size;
|
|
free(event);
|
|
free(event);
|
|
}
|
|
}
|
|
@@ -150,6 +150,7 @@ void ordered_events__delete(struct ordered_events *oe, struct ordered_event *eve
|
|
list_move(&event->list, &oe->cache);
|
|
list_move(&event->list, &oe->cache);
|
|
oe->nr_events--;
|
|
oe->nr_events--;
|
|
free_dup_event(oe, event->event);
|
|
free_dup_event(oe, event->event);
|
|
|
|
+ event->event = NULL;
|
|
}
|
|
}
|
|
|
|
|
|
int ordered_events__queue(struct ordered_events *oe, union perf_event *event,
|
|
int ordered_events__queue(struct ordered_events *oe, union perf_event *event,
|