From 2b864edbcd1d6f7dfbf8c9797a845c05fd344456 Mon Sep 17 00:00:00 2001 From: Arne Edholm Date: Mon, 3 May 2021 10:11:28 +0200 Subject: [PATCH] serial: nrfx_uarte: check size before writing to buffer NRFX UARTE would write to user supplied buffer on IRQ without checking whether or not the supplied buffer had available space left to write one char Signed-off-by: Arne Edholm --- drivers/serial/uart_nrfx_uarte.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/serial/uart_nrfx_uarte.c b/drivers/serial/uart_nrfx_uarte.c index fda27b8d0a21..78aa5acaea49 100644 --- a/drivers/serial/uart_nrfx_uarte.c +++ b/drivers/serial/uart_nrfx_uarte.c @@ -1452,7 +1452,7 @@ static int uarte_nrfx_fifo_read(const struct device *dev, NRF_UARTE_Type *uarte = get_uarte_instance(dev); const struct uarte_nrfx_data *data = get_dev_data(dev); - if (nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { + if (size > 0 && nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_ENDRX)) { /* Clear the interrupt */ nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_ENDRX);