Fix: sessiond: ODR violation results in memory corruption
[lttng-tools.git] / src / bin / lttng-sessiond / tracker.cpp
index 204ade426316b288afd6e59d1ceade61f82a706f..9e29b73247c33ed21f5b19c77aadeaa6cf9fc978 100644 (file)
 #include <common/tracker.hpp>
 #include <lttng/lttng-error.h>
 
+struct process_attr_tracker {
+       enum lttng_tracking_policy policy;
+       struct cds_lfht *inclusion_set_ht;
+};
+
+namespace {
 struct process_attr_tracker_value_node {
        struct process_attr_value *value;
        struct cds_lfht_node inclusion_set_ht_node;
        struct rcu_head rcu_head;
 };
-
-struct process_attr_tracker {
-       enum lttng_tracking_policy policy;
-       struct cds_lfht *inclusion_set_ht;
-};
+} /* namespace */
 
 static void process_attr_tracker_value_node_rcu_free(struct rcu_head *rcu_head)
 {
@@ -49,7 +51,7 @@ struct process_attr_tracker *process_attr_tracker_create(void)
 {
        struct process_attr_tracker *tracker;
 
-       tracker = (process_attr_tracker *) zmalloc(sizeof(*tracker));
+       tracker = zmalloc<process_attr_tracker>();
        if (!tracker) {
                return NULL;
        }
@@ -201,7 +203,7 @@ enum process_attr_tracker_status process_attr_tracker_inclusion_set_add_value(
                goto end;
        }
 
-       value_node = (process_attr_tracker_value_node *) zmalloc(sizeof(*value_node));
+       value_node = zmalloc<process_attr_tracker_value_node>();
        if (!value_node) {
                status = PROCESS_ATTR_TRACKER_STATUS_ERROR;
                goto end;
This page took 0.023555 seconds and 4 git commands to generate.