From 3fb776e45cd0caef3c1e50e893addb2bd5f4ae36 Mon Sep 17 00:00:00 2001 From: shichunma Date: Wed, 28 Jan 2026 21:35:22 +0800 Subject: [PATCH] net/netdev: a valid netdev for ipv4 should have ipv4 addr configured It's not a valid netdev if without ipv4 address. Signed-off-by: Jerry Ma --- net/netdev/netdev_findbyaddr.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/net/netdev/netdev_findbyaddr.c b/net/netdev/netdev_findbyaddr.c index bef872bcef0..b24dfdd6976 100644 --- a/net/netdev/netdev_findbyaddr.c +++ b/net/netdev/netdev_findbyaddr.c @@ -347,7 +347,15 @@ FAR struct net_driver_s *netdev_findby_ripv4addr(in_addr_t lipaddr, * about that here. */ - return netdev_default(); + dev = netdev_default(); + if (dev && net_ipv4addr_cmp(dev->d_ipaddr, INADDR_ANY)) + { + return NULL; + } + else + { + return dev; + } } else { @@ -393,7 +401,15 @@ FAR struct net_driver_s *netdev_findby_ripv4addr(in_addr_t lipaddr, * try the default network device. */ - return netdev_default(); + dev = netdev_default(); + if (dev && net_ipv4addr_cmp(dev->d_ipaddr, INADDR_ANY)) + { + return NULL; + } + else + { + return dev; + } } #endif /* CONFIG_NET_IPv4 */