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(
/* The basic struct lttng_event */
storage_req = event_count * sizeof(struct lttng_event);
+ /* The struct·lttng_event_extended */
+ storage_req += event_count * sizeof(struct lttng_event_extended);
+
for (i = 0; i < event_count; i++) {
int probe_storage_req = 0;
const struct event_list_element *element = (const struct event_list_element *)
probe_storage_req = ret;
}
- /* The struct·lttng_event_extended */
- storage_req += event_count *
- sizeof(struct lttng_event_extended);
-
if (element->filter_expression) {
storage_req += strlen(element->filter_expression) + 1;
}