From: Mathieu Desnoyers Date: Thu, 23 Nov 2023 20:36:53 +0000 (-0500) Subject: tracer: Validate number of known event types X-Git-Url: http://git.efficios.com/?p=libside.git;a=commitdiff_plain;h=2d8e1a70fc0ca4aaf5e433b427f591e065a7dceb tracer: Validate number of known event types Signed-off-by: Mathieu Desnoyers --- 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)