From 414f7ce0678885b06cd6897d3c9d86334a4470ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 28 Apr 2026 00:48:09 +0800 Subject: [PATCH] Netif: improves code quality Co-authored-by: Copilot --- src/common/impl/netif_apple.c | 8 ++++---- src/common/impl/netif_bsd.c | 8 ++++---- src/common/impl/netif_gnu.c | 2 +- src/common/impl/netif_haiku.c | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/common/impl/netif_apple.c b/src/common/impl/netif_apple.c index b37ea2cb9..191a55c46 100644 --- a/src/common/impl/netif_apple.c +++ b/src/common/impl/netif_apple.c @@ -25,8 +25,8 @@ get_rt_address(struct rt_msghdr* rtm, int desired) { struct sockaddr* sa = (struct sockaddr*) (rtm + 1); for (int i = 0; i < RTAX_MAX; i++) { - if (rtm->rtm_addrs & (1 << i)) { - if ((1 << i) == desired) { + if (rtm->rtm_addrs & (1u << i)) { + if ((1u << i) == (unsigned) desired) { return sa; } @@ -110,7 +110,7 @@ bool ffNetifGetDefaultRouteImplV4(FFNetifDefaultRouteResult* result) { && sdl->sdl_len #endif ) { - assert(sdl->sdl_nlen <= IF_NAMESIZE); + if (sdl->sdl_nlen > IF_NAMESIZE) return false; memcpy(result->ifName, sdl->sdl_data, sdl->sdl_nlen); result->ifName[sdl->sdl_nlen] = '\0'; result->ifIndex = sdl->sdl_index; @@ -183,7 +183,7 @@ bool ffNetifGetDefaultRouteImplV6(FFNetifDefaultRouteResult* result) { && sdl->sdl_len #endif ) { - assert(sdl->sdl_nlen <= IF_NAMESIZE); + if (sdl->sdl_nlen > IF_NAMESIZE) return false; memcpy(result->ifName, sdl->sdl_data, sdl->sdl_nlen); result->ifName[sdl->sdl_nlen] = '\0'; result->ifIndex = sdl->sdl_index; diff --git a/src/common/impl/netif_bsd.c b/src/common/impl/netif_bsd.c index 72ef96b74..c6ae8f610 100644 --- a/src/common/impl/netif_bsd.c +++ b/src/common/impl/netif_bsd.c @@ -32,8 +32,8 @@ get_rt_address(struct rt_msghdr* rtm, int desired) { struct sockaddr* sa = (struct sockaddr*) (rtm + 1); for (int i = 0; i < RTAX_MAX; i++) { - if (rtm->rtm_addrs & (1 << i)) { - if ((1 << i) == desired) { + if (rtm->rtm_addrs & (1u << i)) { + if ((1u << i) == (unsigned) desired) { return sa; } sa = (struct sockaddr*) (ROUNDUP(sa->sa_len) + (char*) sa); @@ -65,7 +65,7 @@ bool ffNetifGetDefaultRouteImplV4(FFNetifDefaultRouteResult* result) { if ((rtm->rtm_flags & RTF_GATEWAY) && !(rtm->rtm_flags & RTF_REJECT) && (sa->sa_family == AF_INET)) { struct sockaddr_dl* sdl = (struct sockaddr_dl*) get_rt_address(rtm, RTA_IFP); if (sdl && sdl->sdl_family == AF_LINK) { - assert(sdl->sdl_nlen <= IF_NAMESIZE); + if (sdl->sdl_nlen > IF_NAMESIZE) continue; memcpy(result->ifName, sdl->sdl_data, sdl->sdl_nlen); result->ifName[sdl->sdl_nlen] = '\0'; result->ifIndex = sdl->sdl_index; @@ -106,7 +106,7 @@ bool ffNetifGetDefaultRouteImplV6(FFNetifDefaultRouteResult* result) { if ((rtm->rtm_flags & RTF_GATEWAY) && !(rtm->rtm_flags & RTF_REJECT) && (sa->sa_family == AF_INET6)) { struct sockaddr_dl* sdl = (struct sockaddr_dl*) get_rt_address(rtm, RTA_IFP); if (sdl && sdl->sdl_family == AF_LINK) { - assert(sdl->sdl_nlen <= IF_NAMESIZE); + if (sdl->sdl_nlen > IF_NAMESIZE) continue; memcpy(result->ifName, sdl->sdl_data, sdl->sdl_nlen); result->ifName[sdl->sdl_nlen] = '\0'; result->ifIndex = sdl->sdl_index; diff --git a/src/common/impl/netif_gnu.c b/src/common/impl/netif_gnu.c index d2cf5d009..d2feed5be 100644 --- a/src/common/impl/netif_gnu.c +++ b/src/common/impl/netif_gnu.c @@ -25,7 +25,7 @@ bool ffNetifGetDefaultRouteImplV4(FFNetifDefaultRouteResult* result) { // TODO: Get the preferred source address return true; } - result->ifName[0] = '0'; + result->ifName[0] = '\0'; return false; } diff --git a/src/common/impl/netif_haiku.c b/src/common/impl/netif_haiku.c index f04183a1f..a32138c68 100644 --- a/src/common/impl/netif_haiku.c +++ b/src/common/impl/netif_haiku.c @@ -71,7 +71,7 @@ bool ffNetifGetDefaultRouteImplV4(FFNetifDefaultRouteResult* result) { } bool ffNetifGetDefaultRouteImplV6(FFNetifDefaultRouteResult* result) { - FF_AUTO_CLOSE_FD int pfRoute = socket(AF_INET, SOCK_RAW, AF_INET6); + FF_AUTO_CLOSE_FD int pfRoute = socket(AF_INET6, SOCK_RAW, AF_INET6); if (pfRoute < 0) { return false; }