X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fevent.cpp;h=f33518eee4eece45c2c8ce762cb22765a682209b;hb=fbc3f258425648821da7264860ca32cc24db0915;hp=ad3e23d4d8a15679977e7048ed6d6001ac0e3029;hpb=1c9a0b0e83c7e073c4e576c0bed95de335b0e502;p=lttng-tools.git diff --git a/src/common/event.cpp b/src/common/event.cpp index ad3e23d4d..f33518eee 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -5,28 +5,28 @@ * */ -#include "common/compat/string.h" -#include "common/macros.h" -#include "lttng/lttng-error.h" -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include + #include -#include +#include #include -#include -#include -#include +#include +#include +namespace { struct event_list_element { struct lttng_event *event; struct lttng_event_exclusion *exclusions; char *filter_expression; }; +} /* namespace */ static void event_list_destructor(void *ptr) { @@ -43,7 +43,7 @@ struct lttng_event *lttng_event_copy(const struct lttng_event *event) struct lttng_event *new_event; struct lttng_event_extended *new_event_extended; - new_event = (lttng_event *) zmalloc(sizeof(*event)); + new_event = zmalloc(); if (!new_event) { PERROR("Error allocating event structure"); goto end; @@ -56,7 +56,7 @@ struct lttng_event *lttng_event_copy(const struct lttng_event *event) * We need to create a new extended since the previous pointer is now * invalid. */ - new_event_extended = (lttng_event_extended *) zmalloc(sizeof(*new_event_extended)); + new_event_extended = zmalloc(); if (!new_event_extended) { PERROR("Error allocating event extended structure"); goto error; @@ -79,8 +79,9 @@ static int lttng_event_probe_attr_serialize( size_t symbol_name_len; struct lttng_event_probe_attr_comm comm = {}; - symbol_name_len = lttng_strnlen(probe->symbol_name, LTTNG_SYMBOL_NAME_LEN); - if (symbol_name_len == LTTNG_SYMBOL_NAME_LEN) { + symbol_name_len = lttng_strnlen( + probe->symbol_name, sizeof(probe->symbol_name)); + if (symbol_name_len == sizeof(probe->symbol_name)) { /* Not null-termintated. */ ret = -1; goto end; @@ -112,10 +113,13 @@ static int lttng_event_function_attr_serialize( { int ret; size_t symbol_name_len; - struct lttng_event_function_attr_comm comm = { 0 }; + struct lttng_event_function_attr_comm comm; + + comm.symbol_name_len = 0; - symbol_name_len = lttng_strnlen(function->symbol_name, LTTNG_SYMBOL_NAME_LEN); - if (symbol_name_len == LTTNG_SYMBOL_NAME_LEN) { + symbol_name_len = lttng_strnlen( + function->symbol_name, sizeof(function->symbol_name)); + if (symbol_name_len == sizeof(function->symbol_name)) { /* Not null-termintated. */ ret = -1; goto end; @@ -157,8 +161,7 @@ static ssize_t lttng_event_probe_attr_create_from_payload( comm = (typeof(comm)) comm_view.buffer.data; offset += sizeof(*comm); - local_attr = (struct lttng_event_probe_attr *) zmalloc( - sizeof(*local_attr)); + local_attr = zmalloc(); if (local_attr == NULL) { ret = -1; goto end; @@ -187,7 +190,7 @@ static ssize_t lttng_event_probe_attr_create_from_payload( } ret = lttng_strncpy(local_attr->symbol_name, name, - LTTNG_SYMBOL_NAME_LEN); + sizeof(local_attr->symbol_name)); if (ret) { ret = -1; goto end; @@ -222,8 +225,7 @@ static ssize_t lttng_event_function_attr_create_from_payload( comm = (typeof(comm)) view->buffer.data; offset += sizeof(*comm); - local_attr = (struct lttng_event_function_attr *) zmalloc( - sizeof(*local_attr)); + local_attr = zmalloc(); if (local_attr == NULL) { ret = -1; goto end; @@ -249,7 +251,7 @@ static ssize_t lttng_event_function_attr_create_from_payload( } ret = lttng_strncpy(local_attr->symbol_name, name, - LTTNG_SYMBOL_NAME_LEN); + sizeof(local_attr->symbol_name)); if (ret) { ret = -1; goto end; @@ -272,12 +274,12 @@ static ssize_t lttng_event_exclusions_create_from_payload( struct lttng_event_exclusion **exclusions) { ssize_t ret, offset = 0; - size_t size = (count * LTTNG_SYMBOL_NAME_LEN); + const size_t size = (count * LTTNG_SYMBOL_NAME_LEN); uint32_t i; const struct lttng_event_exclusion_comm *comm; struct lttng_event_exclusion *local_exclusions; - local_exclusions = (struct lttng_event_exclusion *) zmalloc( + local_exclusions = zmalloc( sizeof(struct lttng_event_exclusion) + size); if (!local_exclusions) { ret = -1; @@ -317,8 +319,8 @@ static ssize_t lttng_event_exclusions_create_from_payload( goto end; } - ret = lttng_strncpy(local_exclusions->names[i], - string, LTTNG_SYMBOL_NAME_LEN); + ret = lttng_strncpy(LTTNG_EVENT_EXCLUSION_NAME_AT(local_exclusions, i), string, + sizeof(LTTNG_EVENT_EXCLUSION_NAME_AT(local_exclusions, i))); if (ret) { ret = -1; goto end; @@ -406,8 +408,8 @@ ssize_t lttng_event_create_from_payload(struct lttng_payload_view *view, goto end; } - ret = lttng_strncpy( - local_event->name, name, LTTNG_SYMBOL_NAME_LEN); + ret = lttng_strncpy(local_event->name, name, + sizeof(local_event->name)); if (ret) { ret = -1; goto end; @@ -510,8 +512,7 @@ deserialize_filter_expression: goto end; } - local_bytecode = (struct lttng_bytecode *) zmalloc( - event_comm->bytecode_len); + local_bytecode = zmalloc(event_comm->bytecode_len); if (!local_bytecode) { ret = -1; goto end; @@ -710,8 +711,8 @@ int lttng_event_serialize(const struct lttng_event *event, /* Save the header location for later in-place header update. */ header_offset = payload->buffer.size; - name_len = lttng_strnlen(event->name, LTTNG_SYMBOL_NAME_LEN); - if (name_len == LTTNG_SYMBOL_NAME_LEN) { + name_len = lttng_strnlen(event->name, sizeof(event->name)); + if (name_len == sizeof(event->name)) { /* Event name is not NULL-terminated. */ ret = -1; goto end; @@ -765,9 +766,9 @@ int lttng_event_serialize(const struct lttng_event *event, for (i = 0; i < exclusion_count; i++) { const size_t exclusion_len = lttng_strnlen( *(exclusion_list + i), LTTNG_SYMBOL_NAME_LEN); - const struct lttng_event_exclusion_comm exclusion_header = { - .len = (uint32_t) exclusion_len + 1, - }; + struct lttng_event_exclusion_comm exclusion_header; + + exclusion_header.len = (uint32_t) exclusion_len + 1; if (exclusion_len == LTTNG_SYMBOL_NAME_LEN) { /* Exclusion is not NULL-terminated. */ @@ -1039,7 +1040,8 @@ static ssize_t lttng_event_context_perf_counter_populate_from_payload( goto end; } - ret = lttng_strncpy(event_ctx->u.perf_counter.name, name, name_len); + ret = lttng_strncpy(event_ctx->u.perf_counter.name, name, + sizeof(event_ctx->u.perf_counter.name)); if (ret) { consumed = -1; goto end; @@ -1077,8 +1079,7 @@ ssize_t lttng_event_context_create_from_payload( comm = (typeof(comm)) comm_view.data; offset += sizeof(*comm); - local_context = (struct lttng_event_context *) - zmalloc(sizeof(*local_context)); + local_context = zmalloc(); if (!local_context) { ret = -1; goto end; @@ -1203,9 +1204,9 @@ static int lttng_event_context_perf_counter_serialize( comm.config = context->config; comm.type = context->type; - comm.name_len = lttng_strnlen(context->name, LTTNG_SYMBOL_NAME_LEN); + comm.name_len = lttng_strnlen(context->name, sizeof(context->name)); - if (comm.name_len == LTTNG_SYMBOL_NAME_LEN) { + if (comm.name_len == sizeof(context->name)) { ret = -1; goto end; } @@ -1236,7 +1237,9 @@ int lttng_event_context_serialize(struct lttng_event_context *context, struct lttng_payload *payload) { int ret; - struct lttng_event_context_comm context_comm = { 0 }; + struct lttng_event_context_comm context_comm; + + context_comm.type = 0; assert(context); assert(payload); @@ -1330,8 +1333,7 @@ ssize_t lttng_event_field_create_from_payload( offset += sizeof(*comm); } - local_event_field = (struct lttng_event_field *) - zmalloc(sizeof(*local_event_field)); + local_event_field = zmalloc(); if (!local_event_field) { ret = -1; goto end; @@ -1394,7 +1396,8 @@ ssize_t lttng_event_field_create_from_payload( assert(name); assert(event); - if (lttng_strncpy(local_event_field->field_name, name , LTTNG_SYMBOL_NAME_LEN)) { + if (lttng_strncpy(local_event_field->field_name, name, + sizeof(local_event_field->field_name))) { ret = -1; goto end; } @@ -1426,8 +1429,8 @@ int lttng_event_field_serialize(const struct lttng_event_field *field, /* Save the header location for later in-place header update. */ header_offset = payload->buffer.size; - name_len = strnlen(field->field_name, LTTNG_SYMBOL_NAME_LEN); - if (name_len == LTTNG_SYMBOL_NAME_LEN) { + name_len = strnlen(field->field_name, sizeof(field->field_name)); + if (name_len == sizeof(field->field_name)) { /* Event name is not NULL-terminated. */ ret = -1; goto end; @@ -1711,8 +1714,7 @@ static enum lttng_error_code event_list_create_from_payload( ssize_t event_size; struct lttng_payload_view event_view = lttng_payload_view_from_view(view, offset, -1); - struct event_list_element *element = - (struct event_list_element *) zmalloc(sizeof(*element)); + struct event_list_element *element = zmalloc(); if (!element) { ret_code = LTTNG_ERR_NOMEM; @@ -1868,7 +1870,7 @@ static enum lttng_error_code event_field_list_create_from_payload( assert(view); assert(event_field_list); - list = (struct lttng_dynamic_pointer_array *) zmalloc(sizeof(*list)); + list = zmalloc(); if (!list) { ret_code = LTTNG_ERR_NOMEM; goto end;