Fix: event-notifier: Groups may not have an error counter
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 9 Dec 2020 14:15:46 +0000 (09:15 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 9 Dec 2020 14:15:46 +0000 (09:15 -0500)
Issue
=====
If no error counter is attached to an event notifier group, calling
the `record_error()` function leads to a NULL pointer dereference.

Solution
========
Check if the error_counter field is allocated before dereferencing it.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I124519d37efe8eb20296cfd74027642c8e8162a5

liblttng-ust/event-notifier-notification.c

index ae997eb703a2d5d7053b7980b6e01a8ae28dd1fa..5f7d9d58f24b67bf04fb4cf5fef6b2e8854f8895 100644 (file)
@@ -287,6 +287,10 @@ static void record_error(struct lttng_event_notifier *event_notifier)
        size_t dimension_index[1];
        int ret;
 
+       /* This group may not have an error counter attached to it. */
+       if (!event_notifier_group->error_counter)
+               return;
+
        dimension_index[0] = event_notifier->error_counter_index;
        ret = event_notifier_group->error_counter->ops->counter_add(
                        event_notifier_group->error_counter->counter,
This page took 0.026195 seconds and 4 git commands to generate.