From 531e96a7eef1d108abf83c6df5429c0ae82d32ca Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Wed, 2 Mar 2022 10:50:16 -0500 Subject: [PATCH] Fix: event: unchecked return value for lttng_strncpy MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by Coverity: CID 1475806: Unchecked return value (CHECKED_RETURN) Calling lttng_strncpy without checking return value. Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau Change-Id: Ib2b16bef61bcc24fea381c18fd8f914e9a84a6e7 --- src/common/event.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/common/event.cpp b/src/common/event.cpp index 6dca04def..8e1b99ff9 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -997,7 +997,8 @@ static ssize_t lttng_event_context_perf_counter_populate_from_payload( const struct lttng_payload_view *view, struct lttng_event_context *event_ctx) { - ssize_t ret, offset = 0; + int ret; + ssize_t consumed, offset = 0; const struct lttng_event_context_perf_counter_comm *comm; size_t name_len; const struct lttng_buffer_view comm_view = lttng_buffer_view_from_view( @@ -1009,7 +1010,7 @@ static ssize_t lttng_event_context_perf_counter_populate_from_payload( event_ctx->ctx == LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER); if (!lttng_buffer_view_is_valid(&comm_view)) { - ret = -1; + consumed = -1; goto end; } @@ -1026,7 +1027,7 @@ static ssize_t lttng_event_context_perf_counter_populate_from_payload( name_len); if (!lttng_buffer_view_is_valid(&provider_name_view)) { - ret = -1; + consumed = -1; goto end; } @@ -1034,21 +1035,25 @@ static ssize_t lttng_event_context_perf_counter_populate_from_payload( if (!lttng_buffer_view_contains_string( &provider_name_view, name, name_len)) { - ret = -1; + consumed = -1; goto end; } - lttng_strncpy(event_ctx->u.perf_counter.name, name, name_len); + ret = lttng_strncpy(event_ctx->u.perf_counter.name, name, name_len); + if (ret) { + consumed = -1; + goto end; + } offset += name_len; } event_ctx->u.perf_counter.config = comm->config; event_ctx->u.perf_counter.type = comm->type; - ret = offset; + consumed = offset; end: - return ret; + return consumed; } ssize_t lttng_event_context_create_from_payload( -- 2.34.1