1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-16 08:13:30 +00:00

Addressed CodeQL analysis

This commit is contained in:
Bryan Roe
2020-07-08 21:46:53 -07:00
parent 4728330c5e
commit de4ee73ae6
6 changed files with 18 additions and 18 deletions

View File

@@ -366,47 +366,47 @@ int info_GetLocalInterfaces(char* data, int maxdata)
if (ioctl(sockfd, SIOCGIFFLAGS, ifr)) continue; // Failed
if (memcmp(ifr->ifr_name, "lo", 3) == 0) continue; // Loopback
if (adapterCount > 0) { ptr += snprintf(data + ptr, maxdata - ptr, ","); }
ptr += snprintf(data + ptr, maxdata - ptr, "{");
if (adapterCount > 0) { ptr += sprintf_s(data + ptr, maxdata - ptr, ","); }
ptr += sprintf_s(data + ptr, maxdata - ptr, "{");
// Get the name of the interface
ptr += snprintf(data + ptr, maxdata - ptr, "\"name\":\"%s\"", ifr->ifr_name);
ptr += sprintf_s(data + ptr, maxdata - ptr, "\"name\":\"%s\"", ifr->ifr_name);
// Get the FQDN (DNS Suffix)
j = info_GetDefaultFqdn(ifr->ifr_name, &gateway);
if (j > 0) { ptr += snprintf(data + ptr, maxdata - ptr, ",\"dnssuffix\":\"%s\"", gateway); }
if (j > 0) { ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"dnssuffix\":\"%s\"", gateway); }
if (gateway != NULL) { free(gateway); gateway = NULL; }
// Get the Default Gateway IP address
j = info_GetDefaultGateway(ifr->ifr_name, &gateway);
if (j == 4) { ILibInet_ntop(AF_INET, gateway, temp, 1024); ptr += snprintf(data + ptr, maxdata - ptr, ",\"v4gateway\":\"%s\"", temp); }
if (j == 4) { ILibInet_ntop(AF_INET, gateway, temp, 1024); ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"v4gateway\":\"%s\"", temp); }
if (gateway != NULL) { free(gateway); gateway = NULL; }
// Get the Default Gateway MAC address
j = info_GetHwAddress(temp, strlen(temp), &gateway);
if (j == 6) { ptr += snprintf(data + ptr, maxdata - ptr, ",\"gatewaymac\":\"%02x%02x%02x%02x%02x%02x\"", (unsigned char)gateway[0], (unsigned char)gateway[1], (unsigned char)gateway[2], (unsigned char)gateway[3], (unsigned char)gateway[4], (unsigned char)gateway[5]); }
if (j == 6) { ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"gatewaymac\":\"%02x%02x%02x%02x%02x%02x\"", (unsigned char)gateway[0], (unsigned char)gateway[1], (unsigned char)gateway[2], (unsigned char)gateway[3], (unsigned char)gateway[4], (unsigned char)gateway[5]); }
if (gateway != NULL) free(gateway);
// Attempt to figure out the interface type
j = 0;
if (strlen(ifr->ifr_name) > 3 && memcmp(ifr->ifr_name, "eth", 3) == 0) { j = 6; }
//if (strlen(ifr->ifr_name) > 2 && memcmp(ifr->ifr_name, "wl", 2) == 0) { j = 6; } // TODO: Wireless
if (j > 0) { ptr += snprintf(data + ptr, maxdata - ptr, ",\"type\":\"%d\"", j); }
if (j > 0) { ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"type\":\"%d\"", j); }
// Get the hardware MAC address
if (ioctl(sockfd, SIOCGIFHWADDR, ifr) == 0) {
if (ifr->ifr_hwaddr.sa_family == 1) {
ptr += snprintf(data + ptr, maxdata - ptr, ",\"mac\":\"%02x%02x%02x%02x%02x%02x\"", (unsigned char)ifr->ifr_hwaddr.sa_data[0], (unsigned char)ifr->ifr_hwaddr.sa_data[1], (unsigned char)ifr->ifr_hwaddr.sa_data[2], (unsigned char)ifr->ifr_hwaddr.sa_data[3], (unsigned char)ifr->ifr_hwaddr.sa_data[4], (unsigned char)ifr->ifr_hwaddr.sa_data[5]);
ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"mac\":\"%02x%02x%02x%02x%02x%02x\"", (unsigned char)ifr->ifr_hwaddr.sa_data[0], (unsigned char)ifr->ifr_hwaddr.sa_data[1], (unsigned char)ifr->ifr_hwaddr.sa_data[2], (unsigned char)ifr->ifr_hwaddr.sa_data[3], (unsigned char)ifr->ifr_hwaddr.sa_data[4], (unsigned char)ifr->ifr_hwaddr.sa_data[5]);
}
}
// Get the IP address
if (ioctl(sockfd, SIOCGIFADDR, ifr) == 0) { ptr += snprintf(data + ptr, maxdata - ptr, ",\"v4addr\":\"%s\"", inet_ntoa(((struct sockaddr_in*)(&(ifr->ifr_addr)))->sin_addr)); }
if (ioctl(sockfd, SIOCGIFADDR, ifr) == 0) { ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"v4addr\":\"%s\"", inet_ntoa(((struct sockaddr_in*)(&(ifr->ifr_addr)))->sin_addr)); }
// Get the subnet mask
if (ioctl(sockfd, SIOCGIFNETMASK, ifr) == 0) { ptr += snprintf(data + ptr, maxdata - ptr, ",\"v4mask\":\"%s\"", inet_ntoa(((struct sockaddr_in*)(&(ifr->ifr_addr)))->sin_addr)); }
if (ioctl(sockfd, SIOCGIFNETMASK, ifr) == 0) { ptr += sprintf_s(data + ptr, maxdata - ptr, ",\"v4mask\":\"%s\"", inet_ntoa(((struct sockaddr_in*)(&(ifr->ifr_addr)))->sin_addr)); }
ptr += snprintf(data + ptr, maxdata - ptr, "}");
ptr += sprintf_s(data + ptr, maxdata - ptr, "}");
adapterCount++;
}