diff --git a/src/libCom/osi/os/freebsd/osdSock.h b/src/libCom/osi/os/freebsd/osdSock.h index 0b9e51508..8c270b72a 100644 --- a/src/libCom/osi/os/freebsd/osdSock.h +++ b/src/libCom/osi/os/freebsd/osdSock.h @@ -77,7 +77,11 @@ typedef socklen_t osiSocklen_t; # define SHUT_RDWR 2 #endif -#define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) +#if BSD4_4 +# define ifreq_size(pifreq) (pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name)) +#else +# define ifreq_size(pifreq) sizeof(*pifreq) +#endif #endif /*osdSockH*/