tracer: Validate number of known event types
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 23 Nov 2023 20:36:53 +0000 (15:36 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 23 Nov 2023 20:36:53 +0000 (15:36 -0500)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
src/tracer.c

index 33c699093b83858617d6bb5cea80ad352dd0f194..8d18952058984aa8efd48287396ca378df2172bd 100644 (file)
@@ -1800,6 +1800,16 @@ void tracer_event_notification(enum side_tracer_notification notif,
                printf("provider: %s, event: %s\n",
                        side_ptr_get(event->provider_name), side_ptr_get(event->event_name));
                if (notif == SIDE_TRACER_NOTIFICATION_INSERT_EVENTS) {
+                       if (event->nr_side_type_label > _NR_SIDE_TYPE_LABEL) {
+                               printf("Warning: event %s:%s may contain unknown field types (%u unknown types)\n",
+                                       side_ptr_get(event->provider_name), side_ptr_get(event->event_name),
+                                       event->nr_side_type_label - _NR_SIDE_TYPE_LABEL);
+                       }
+                       if (event->nr_side_attr_type > _NR_SIDE_ATTR_TYPE) {
+                               printf("Warning: event %s:%s may contain unknown attribute types (%u unknown types)\n",
+                                       side_ptr_get(event->provider_name), side_ptr_get(event->event_name),
+                                       event->nr_side_attr_type - _NR_SIDE_ATTR_TYPE);
+                       }
                        if (event->flags & SIDE_EVENT_FLAG_VARIADIC) {
                                ret = side_tracer_callback_variadic_register(event, tracer_call_variadic, NULL);
                                if (ret)
This page took 0.03232 seconds and 4 git commands to generate.