From d879776270df2d7d5bc08fab1f3604ceedfd6df7 Mon Sep 17 00:00:00 2001 From: vandoul Date: Tue, 10 Jun 2025 10:01:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=95=E5=90=91=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=A7=BB=E9=99=A4=E8=8A=82=E7=82=B9=E6=97=B6=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E5=AE=89=E5=85=A8=E9=A3=8E=E9=99=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vandoul --- include/rtservice.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/rtservice.h b/include/rtservice.h index 3d99b461517..f9612e0b552 100644 --- a/include/rtservice.h +++ b/include/rtservice.h @@ -234,6 +234,7 @@ rt_inline rt_slist_t *rt_slist_pop(rt_slist_t *l) if (node != (rt_slist_t *)0) { ((struct rt_slist_node *)l)->next = node->next; + node->next = RT_NULL; } return node; @@ -246,7 +247,11 @@ rt_inline rt_slist_t *rt_slist_remove(rt_slist_t *l, rt_slist_t *n) while (node->next && node->next != n) node = node->next; /* remove node */ - if (node->next != (rt_slist_t *)0) node->next = node->next->next; + if (node->next != (rt_slist_t *)0) + { + node->next = node->next->next; + n->next = RT_NULL; + } return l; }