From 04e29d58e3a29fb98dc870db57cc6b44e2dee973 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 3 May 2020 21:33:51 +1000 Subject: [PATCH] RC_Channel: avoid invalid misaligned access in example --- libraries/RC_Channel/examples/RC_UART/RC_UART.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/RC_Channel/examples/RC_UART/RC_UART.cpp b/libraries/RC_Channel/examples/RC_UART/RC_UART.cpp index 528a734cde..bd85eccd94 100644 --- a/libraries/RC_Channel/examples/RC_UART/RC_UART.cpp +++ b/libraries/RC_Channel/examples/RC_UART/RC_UART.cpp @@ -110,7 +110,9 @@ void RC_UART::loop() uint16_t rcin[8]; uint16_t crc; } rcin; - if (hal.rcin->new_input() && hal.rcin->read(rcin.rcin, 8) == 8) { + uint16_t rcval[8]; + if (hal.rcin->new_input() && hal.rcin->read(rcval, 8) == 8) { + memcpy(rcin.rcin, rcval, sizeof(rcval)); rcin.crc = crc_calculate((uint8_t*)&rcin.rcin[0], 16); hal.UART->write((uint8_t*)&rcin, sizeof(rcin)); }