consumer: fix: possible unaligned access in packed structure
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 14 Sep 2019 18:25:25 +0000 (14:25 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 19 Sep 2019 19:31:48 +0000 (15:31 -0400)
Fix the warnings that unaligned pointers can be passed as parameters
emitted when sampling buffer statistics.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/consumer/consumer-timer.c

index cfbf443128696ed3cc9657732d6c28047c9169d2..7d000c145494fba7250e8901cd7d304e86936492 100644 (file)
@@ -721,6 +721,7 @@ void monitor_timer(struct lttng_consumer_channel *channel)
        sample_positions_cb sample;
        get_consumed_cb get_consumed;
        get_produced_cb get_produced;
+       uint64_t lowest = 0, highest = 0, total_consumed = 0;
 
        assert(channel);
 
@@ -744,11 +745,14 @@ void monitor_timer(struct lttng_consumer_channel *channel)
                abort();
        }
 
-       ret = sample_channel_positions(channel, &msg.highest, &msg.lowest,
-                       &msg.total_consumed, sample, get_consumed, get_produced);
+       ret = sample_channel_positions(channel, &highest, &lowest,
+                       &total_consumed, sample, get_consumed, get_produced);
        if (ret) {
                return;
        }
+       msg.highest = highest;
+       msg.lowest = lowest;
+       msg.total_consumed = total_consumed;
 
        /*
         * Writes performed here are assumed to be atomic which is only
This page took 0.026067 seconds and 4 git commands to generate.