From 2d8e1a70fc0ca4aaf5e433b427f591e065a7dceb Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 23 Nov 2023 15:36:53 -0500 Subject: [PATCH] tracer: Validate number of known event types Signed-off-by: Mathieu Desnoyers --- src/tracer.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/tracer.c b/src/tracer.c index 33c6990..8d18952 100644 --- a/src/tracer.c +++ b/src/tracer.c @@ -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) -- 2.34.1