From 85a375cd7deba9d9fc0387caaf14279cd60f76b9 Mon Sep 17 00:00:00 2001 From: chao an Date: Tue, 31 Oct 2023 16:55:02 +0800 Subject: [PATCH] drivers/serial: check the remote device before get name | #0 0x2119bf1 in rpmsg_get_cpuname rptun/rptun.c:1157 | #1 0x24f97bd in uart_rpmsg_device_destroy serial/uart_rpmsg.c:342 | #2 0x2117d56 in rptun_dev_stop rptun/rptun.c:883 | #3 0x21181d7 in rptun_do_ioctl rptun/rptun.c:922 | #4 0x2119721 in rptun_ioctl_foreach rptun/rptun.c:1086 Signed-off-by: chao an --- drivers/serial/uart_rpmsg.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/serial/uart_rpmsg.c b/drivers/serial/uart_rpmsg.c index 97c7dd3ef33eb..0acf287ffd594 100644 --- a/drivers/serial/uart_rpmsg.c +++ b/drivers/serial/uart_rpmsg.c @@ -339,7 +339,8 @@ static void uart_rpmsg_device_destroy(FAR struct rpmsg_device *rdev, FAR struct uart_dev_s *dev = priv_; FAR struct uart_rpmsg_priv_s *priv = dev->priv; - if (strcmp(priv->cpuname, rpmsg_get_cpuname(rdev)) == 0) + if (priv->ept.priv != NULL && + strcmp(priv->cpuname, rpmsg_get_cpuname(rdev)) == 0) { rpmsg_destroy_ept(&priv->ept); }