diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/print_eth_info.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/src/print_eth_info.c b/src/print_eth_info.c index af5a757..06a1613 100644 --- a/src/print_eth_info.c +++ b/src/print_eth_info.c @@ -49,11 +49,13 @@ static int print_eth_speed(char *outwalk, const char *interface) {      } else          return sprintf(outwalk, "?");  #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) -    char *ethspeed; +    const char *ethspeed;      struct ifmediareq ifm;      (void)memset(&ifm, 0, sizeof(ifm));      (void)strncpy(ifm.ifm_name, interface, sizeof(ifm.ifm_name)); -    int ret = ioctl(general_socket, SIOCGIFMEDIA, (caddr_t)&ifm); +    if (ioctl(general_socket, SIOCGIFMEDIA, (caddr_t)&ifm) < 0) { +        return sprintf(outwalk, "?"); +    }      /* Get the description of the media type, partially taken from       * FreeBSD's ifconfig */ | 
