From 5079600991e8e554e3429802a640c61df1e44a89 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Sat, 14 May 2016 04:40:44 -0700 Subject: [PATCH] trace: validate group IDs Signed-off-by: Jim Harris Change-Id: I6be677d1b786b7fd26f24ae888a664b1ead1c694 --- lib/trace/trace.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/trace/trace.c b/lib/trace/trace.c index f890acf15..0c136ec8a 100644 --- a/lib/trace/trace.c +++ b/lib/trace/trace.c @@ -93,18 +93,33 @@ spdk_trace_record(uint16_t tpoint_id, uint16_t poller_id, uint32_t size, uint64_t spdk_trace_get_tpoint_mask(uint32_t group_id) { + if (group_id >= SPDK_TRACE_MAX_GROUP_ID) { + fprintf(stderr, "%s: invalid group ID %d\n", __func__, group_id); + return 0ULL; + } + return g_trace_histories->tpoint_mask[group_id]; } void spdk_trace_set_tpoints(uint32_t group_id, uint64_t tpoint_mask) { + if (group_id >= SPDK_TRACE_MAX_GROUP_ID) { + fprintf(stderr, "%s: invalid group ID %d\n", __func__, group_id); + return; + } + g_trace_histories->tpoint_mask[group_id] |= tpoint_mask; } void spdk_trace_clear_tpoints(uint32_t group_id, uint64_t tpoint_mask) { + if (group_id >= SPDK_TRACE_MAX_GROUP_ID) { + fprintf(stderr, "%s: invalid group ID %d\n", __func__, group_id); + return; + } + g_trace_histories->tpoint_mask[group_id] &= ~tpoint_mask; }