Page MenuHomeFreeBSD

D28705.1794711724.diff
No OneTemporary

Authored By
Unknown
Size
800 B
Referenced Files
None
Subscribers
None

D28705.1794711724.diff

Index: sys/net/if.c
===================================================================
--- sys/net/if.c
+++ sys/net/if.c
@@ -2012,6 +2012,7 @@
struct ifaddr *ifa_maybe = NULL;
u_int af = addr->sa_family;
const char *addr_data = addr->sa_data, *cplim;
+ const struct sockaddr_dl *sdl;
NET_EPOCH_ASSERT();
/*
@@ -2019,9 +2020,14 @@
* so do that if we can.
*/
if (af == AF_LINK) {
- const struct sockaddr_dl *sdl = (const struct sockaddr_dl *)addr;
- if (sdl->sdl_index && sdl->sdl_index <= V_if_index)
- return (ifaddr_byindex(sdl->sdl_index));
+ sdl = (const struct sockaddr_dl *)addr;
+ if (sdl->sdl_index && sdl->sdl_index <= V_if_index) {
+ ifp = ifnet_byindex(sdl->sdl_index);
+ if (ifp == NULL)
+ return (NULL);
+
+ return (ifp->if_addr);
+ }
}
/*

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 15, 3:02 AM (3 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41736663
Default Alt Text
D28705.1794711724.diff (800 B)

Event Timeline