summaryrefslogtreecommitdiff
path: root/networking/udhcp/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/socket.c')
-rw-r--r--networking/udhcp/socket.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/networking/udhcp/socket.c b/networking/udhcp/socket.c
index 648f7623c..1e62f8e40 100644
--- a/networking/udhcp/socket.c
+++ b/networking/udhcp/socket.c
@@ -44,11 +44,11 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t
44 struct sockaddr_in *our_ip; 44 struct sockaddr_in *our_ip;
45 45
46 memset(&ifr, 0, sizeof(ifr)); 46 memset(&ifr, 0, sizeof(ifr));
47 fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); 47 fd = xsocket(AF_INET, SOCK_RAW, IPPROTO_RAW);
48 if (fd < 0) { 48// if (fd < 0) {
49 bb_perror_msg("socket failed"); 49// bb_perror_msg("socket failed");
50 return -1; 50// return -1;
51 } 51// }
52 52
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));
@@ -83,6 +83,7 @@ int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t
83 arp[0], arp[1], arp[2], arp[3], arp[4], arp[5]); 83 arp[0], arp[1], arp[2], arp[3], arp[4], arp[5]);
84 } 84 }
85 85
86 close(fd);
86 return 0; 87 return 0;
87} 88}
88 89