Skip to content
Snippets Groups Projects
Commit bcd2367f authored by Anjan Chanda's avatar Anjan Chanda
Browse files

check realpath() and nl_addr_get_len() return values before using

parent ae912806
No related branches found
No related tags found
No related merge requests found
Pipeline #109278 passed
...@@ -646,8 +646,8 @@ int i1905_get_known_neighbors(struct i1905_private *priv, char *ifname) ...@@ -646,8 +646,8 @@ int i1905_get_known_neighbors(struct i1905_private *priv, char *ifname)
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
if (rtnl_neigh_get_ifindex(neigh) == ifindex) { if (rtnl_neigh_get_ifindex(neigh) == ifindex) {
struct nl_addr *lladdr; struct nl_addr *lladdr = NULL;
struct nl_addr *ipaddr; struct nl_addr *ipaddr = NULL;
struct ip_address ip = {0}; struct ip_address ip = {0};
uint8_t hwaddr[6] = {0}; uint8_t hwaddr[6] = {0};
uint16_t state; uint16_t state;
...@@ -657,7 +657,7 @@ int i1905_get_known_neighbors(struct i1905_private *priv, char *ifname) ...@@ -657,7 +657,7 @@ int i1905_get_known_neighbors(struct i1905_private *priv, char *ifname)
state = rtnl_neigh_get_state(neigh); state = rtnl_neigh_get_state(neigh);
lladdr = rtnl_neigh_get_lladdr(neigh); lladdr = rtnl_neigh_get_lladdr(neigh);
if (lladdr) if (lladdr && nl_addr_get_len(lladdr) == 6)
memcpy(hwaddr, nl_addr_get_binary_addr(lladdr), memcpy(hwaddr, nl_addr_get_binary_addr(lladdr),
nl_addr_get_len(lladdr)); nl_addr_get_len(lladdr));
......
...@@ -62,7 +62,9 @@ int is_wifi_interface(const char *ifname) ...@@ -62,7 +62,9 @@ int is_wifi_interface(const char *ifname)
memset(&s, 0, sizeof(struct stat)); memset(&s, 0, sizeof(struct stat));
snprintf(path, 512, "/sys/class/net/%s/phy80211", ifname); snprintf(path, 512, "/sys/class/net/%s/phy80211", ifname);
realpath(path, rpath); if (!realpath(path, rpath))
return 0;
if (lstat(rpath, &s) != -1) { if (lstat(rpath, &s) != -1) {
if (S_ISDIR(s.st_mode)) { if (S_ISDIR(s.st_mode)) {
return 1; return 1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment