From d282a3f2a2e0b2e6d8dd8ec04123392c201d2820 Mon Sep 17 00:00:00 2001 From: Evlers <1425295900@qq.com> Date: Fri, 22 May 2026 16:52:13 +0800 Subject: [PATCH 1/2] [lwip][ppp]: fix the risk of name member contamination in the ppp netif --- components/net/lwip/Kconfig | 1 + components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/net/lwip/Kconfig b/components/net/lwip/Kconfig index fe019a3f724..374f4d565f8 100644 --- a/components/net/lwip/Kconfig +++ b/components/net/lwip/Kconfig @@ -213,6 +213,7 @@ if RT_USING_LWIP config RT_LWIP_NETIF_NAMESIZE int "netif name length" default 6 + range 3 32 config SO_REUSE int "Enable SO_REUSEADDR option" diff --git a/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c b/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c index 298bbc150e6..1b9f0d11169 100644 --- a/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c +++ b/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c @@ -469,8 +469,7 @@ static void ppp_do_connect(void *arg) { * ppp_netif_init_cb - netif init callback */ static err_t ppp_netif_init_cb(struct netif *netif) { - netif->name[0] = 'p'; - netif->name[1] = 'p'; + strncpy(netif->name, "pp", sizeof(netif->name)); #if PPP_IPV4_SUPPORT netif->output = ppp_netif_output_ip4; #endif /* PPP_IPV4_SUPPORT */ From 37d66de8a193a12ba8fcc4725c7e9f21d90b5cf7 Mon Sep 17 00:00:00 2001 From: Evlers <1425295900@qq.com> Date: Sat, 23 May 2026 11:30:58 +0800 Subject: [PATCH 2/2] [lwip][ppp]: replace strncpy with rt_strncpy --- components/net/lwip/lwip-2.0.3/src/netif/ppp/ppp.c | 3 +-- components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/components/net/lwip/lwip-2.0.3/src/netif/ppp/ppp.c b/components/net/lwip/lwip-2.0.3/src/netif/ppp/ppp.c index 8b77765e5aa..954b17d494a 100644 --- a/components/net/lwip/lwip-2.0.3/src/netif/ppp/ppp.c +++ b/components/net/lwip/lwip-2.0.3/src/netif/ppp/ppp.c @@ -454,8 +454,7 @@ static void ppp_do_connect(void *arg) { * ppp_netif_init_cb - netif init callback */ static err_t ppp_netif_init_cb(struct netif *netif) { - netif->name[0] = 'p'; - netif->name[1] = 'p'; + rt_strncpy(netif->name, "pp", sizeof(netif->name)); #if LWIP_IPV4 /* FIXME: change that when netif_null_output_ip4() will materialize */ netif->output = ppp_netif_output_ip4; diff --git a/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c b/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c index 1b9f0d11169..f4c54a39d7f 100644 --- a/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c +++ b/components/net/lwip/lwip-2.1.2/src/netif/ppp/ppp.c @@ -469,7 +469,7 @@ static void ppp_do_connect(void *arg) { * ppp_netif_init_cb - netif init callback */ static err_t ppp_netif_init_cb(struct netif *netif) { - strncpy(netif->name, "pp", sizeof(netif->name)); + rt_strncpy(netif->name, "pp", sizeof(netif->name)); #if PPP_IPV4_SUPPORT netif->output = ppp_netif_output_ip4; #endif /* PPP_IPV4_SUPPORT */