From ef4b086ef18cd4128c52c4bf58e5ce64d2df0ee6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Sat, 14 Sep 2019 14:25:25 -0400 Subject: [PATCH] consumer: fix: possible unaligned access in packed structure MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fix the warnings that unaligned pointers can be passed as parameters emitted when sampling buffer statistics. Signed-off-by: Jérémie Galarneau --- src/common/consumer/consumer-timer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/common/consumer/consumer-timer.c b/src/common/consumer/consumer-timer.c index cfbf44312..7d000c145 100644 --- a/src/common/consumer/consumer-timer.c +++ b/src/common/consumer/consumer-timer.c @@ -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 -- 2.34.1