nuttx/drivers/serial
dongjiuzhu1 1946bc4e44 drivers/serial: fix crash when buffer is full and only recvbuf is implemented
When the receive buffer is full and the driver only implements recvbuf
operation without receive operation, the code would crash due to calling
a NULL function pointer. This patch fixes the issue by:

1. Check if recvbuf is available before calling it
2. When buffer is full, use a temporary buffer to drain hardware FIFO
   to prevent data accumulation in hardware
3. Add proper NULL check for receive operation to avoid crash
4. Initialize pbuf to NULL to prevent uninitialized variable usage

This ensures the serial driver works correctly even when only recvbuf
is implemented and the receive buffer is full.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2026-01-28 22:19:21 +08:00
..
CMakeLists.txt
Kconfig
Kconfig-16550
Kconfig-cmsdk
Kconfig-lpuart
Kconfig-pci
Kconfig-pl011
Kconfig-sci
Kconfig-uart
Kconfig-usart
Make.defs
ptmx.c
pty.c
pty.h
serial.c
serial_cmsdk.c
serial_dma.c drivers/serial: Fix SIGINT not delivered to foreground process on Ctrl-C. 2026-01-24 16:54:36 +08:00
serial_gdbstub.c
serial_io.c drivers/serial: fix crash when buffer is full and only recvbuf is implemented 2026-01-28 22:19:21 +08:00
uart_16550.c
uart_bth4.c
uart_bth5.c
uart_hostfs.c
uart_pci_16550.c
uart_pl011.c
uart_ram.c
uart_rpmsg.c