summaryrefslogtreecommitdiff
path: root/devices.c
diff options
context:
space:
mode:
Diffstat (limited to 'devices.c')
-rw-r--r--devices.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/devices.c b/devices.c
index 14ba5c4..387c73c 100644
--- a/devices.c
+++ b/devices.c
@@ -35,6 +35,7 @@ int getDeviceIp(const int sockfd, const unsigned char *deviceName, struct sockad
ifc.ifc_req = ifr;
if (ioctl(sockfd, SIOCGIFCONF, &ifc) != 0) {
+ free(ifr);
return -1;
}
@@ -42,8 +43,10 @@ int getDeviceIp(const int sockfd, const unsigned char *deviceName, struct sockad
for (i = 0; i < numDevices; ++i) {
if (strcmp(ifr[i].ifr_name, deviceName) == 0) {
memcpy(ip, &(ifr[i].ifr_addr), sizeof(ip));
+ free(ifr);
return 1;
}
}
+ free(ifr);
return -1;
}