Fix: sessiond: crash enabling event rules that differ only by loglevel type
[lttng-tools.git] / src / common / event.cpp
index 47c0bcbf7e39f8ad32a8cf6c615987dfc263ae6d..d989bfc7c979c1e71c6c81113eb7b1d6036272d9 100644 (file)
@@ -367,7 +367,8 @@ ssize_t lttng_event_create_from_payload(struct lttng_payload_view *view,
 
        local_event->type = (enum lttng_event_type) event_comm->event_type;
        local_event->loglevel_type = (enum lttng_loglevel_type) event_comm->loglevel_type;
-       local_event->loglevel = event_comm->loglevel;
+       local_event->loglevel =
+               local_event->loglevel_type == LTTNG_EVENT_LOGLEVEL_ALL ? -1 : event_comm->loglevel;
        local_event->enabled = !!event_comm->enabled;
        local_event->pid = event_comm->pid;
        local_event->flags = (enum lttng_event_flag) event_comm->flags;
@@ -664,7 +665,7 @@ end:
 
 int lttng_event_serialize(const struct lttng_event *event,
                          unsigned int exclusion_count,
-                         const char **exclusion_list,
+                         const char *const *exclusion_list,
                          const char *filter_expression,
                          size_t bytecode_len,
                          struct lttng_bytecode *bytecode,
@@ -736,7 +737,7 @@ 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);
-               struct lttng_event_exclusion_comm exclusion_header;
+               struct lttng_event_exclusion_comm exclusion_header = {};
 
                exclusion_header.len = (uint32_t) exclusion_len + 1;
 
This page took 0.027875 seconds and 4 git commands to generate.