aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/socket.c')
-rw-r--r--networking/udhcp/socket.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/networking/udhcp/socket.c b/networking/udhcp/socket.c
index be5985f88..21a058545 100644
--- a/networking/udhcp/socket.c
+++ b/networking/udhcp/socket.c
@@ -53,9 +53,9 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t
53 ifr.ifr_addr.sa_family = AF_INET; 53 ifr.ifr_addr.sa_family = AF_INET;
54 strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name)); 54 strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
55 if (addr) { 55 if (addr) {
56 if (ioctl(fd, SIOCGIFADDR, &ifr) != 0) { 56 if (ioctl_or_perror(fd, SIOCGIFADDR, &ifr,
57 bb_perror_msg("SIOCGIFADDR failed (is interface %s " 57 "is interface %s up and configured?", interface)
58 "up and configured?)", interface); 58 ) {
59 close(fd); 59 close(fd);
60 return -1; 60 return -1;
61 } 61 }
@@ -65,8 +65,7 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t
65 } 65 }
66 66
67 if (ifindex) { 67 if (ifindex) {
68 if (ioctl(fd, SIOCGIFINDEX, &ifr) != 0) { 68 if (ioctl_or_warn(fd, SIOCGIFINDEX, &ifr) != 0) {
69 bb_perror_msg("SIOCGIFINDEX failed");
70 close(fd); 69 close(fd);
71 return -1; 70 return -1;
72 } 71 }
@@ -75,8 +74,7 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t
75 } 74 }
76 75
77 if (arp) { 76 if (arp) {
78 if (ioctl(fd, SIOCGIFHWADDR, &ifr) != 0) { 77 if (ioctl_or_warn(fd, SIOCGIFHWADDR, &ifr) != 0) {
79 bb_perror_msg("SIOCGIFHWADDR failed");
80 close(fd); 78 close(fd);
81 return -1; 79 return -1;
82 } 80 }