diff options
-rw-r--r-- | networking/libiproute/iplink.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c index 494b223bf..5aad6ed9f 100644 --- a/networking/libiproute/iplink.c +++ b/networking/libiproute/iplink.c | |||
@@ -130,9 +130,11 @@ static void parse_address(char *dev, int hatype, int halen, char *lla, struct if | |||
130 | memset(ifr, 0, sizeof(*ifr)); | 130 | memset(ifr, 0, sizeof(*ifr)); |
131 | strncpy(ifr->ifr_name, dev, sizeof(ifr->ifr_name)); | 131 | strncpy(ifr->ifr_name, dev, sizeof(ifr->ifr_name)); |
132 | ifr->ifr_hwaddr.sa_family = hatype; | 132 | ifr->ifr_hwaddr.sa_family = hatype; |
133 | alen = ll_addr_a2n((unsigned char *)(ifr->ifr_hwaddr.sa_data), 14, lla); | 133 | |
134 | alen = hatype == 1/*ARPHRD_ETHER*/ ? 14/*ETH_HLEN*/ : 19/*INFINIBAND_HLEN*/; | ||
135 | alen = ll_addr_a2n((unsigned char *)(ifr->ifr_hwaddr.sa_data), alen, lla); | ||
134 | if (alen < 0) | 136 | if (alen < 0) |
135 | exit(1); | 137 | exit(EXIT_FAILURE); |
136 | if (alen != halen) { | 138 | if (alen != halen) { |
137 | bb_error_msg_and_die("wrong address (%s) length: expected %d bytes", lla, halen); | 139 | bb_error_msg_and_die("wrong address (%s) length: expected %d bytes", lla, halen); |
138 | } | 140 | } |