local_attr = NULL;
ret = offset;
end:
+ free(local_attr);
return ret;
}
local_attr = NULL;
ret = offset;
end:
+ free(local_attr);
return ret;
}
}
if (ret != event_comm->userspace_probe_location_len) {
- WARN("Userspace probe location from the received buffer is not the advertised length: header length = %" PRIu32 ", payload length = %lu", event_comm->userspace_probe_location_len, ret);
+ WARN("Userspace probe location from the received buffer is not the advertised length: header length = %" PRIu32 ", payload length = %zd", event_comm->userspace_probe_location_len, ret);
ret = -1;
goto end;
}
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(
event_ctx->ctx == LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER);
if (!lttng_buffer_view_is_valid(&comm_view)) {
- ret = -1;
+ consumed = -1;
goto end;
}
name_len);
if (!lttng_buffer_view_is_valid(&provider_name_view)) {
- ret = -1;
+ consumed = -1;
goto end;
}
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(
}
/* Include the null terminator. */
- comm.provider_name_len = provider_len + 1;
+ provider_len += 1;
+ comm.provider_name_len = provider_len;
ctx_len = strlen(ctx_name);
if (ctx_len == 0) {
}
/* Include the null terminator. */
- comm.ctx_name_len = ctx_len + 1;
+ ctx_len += 1;
+ comm.ctx_name_len = ctx_len;
/* Header */
ret = lttng_dynamic_buffer_append(&payload->buffer, &comm,