nl80211: Fix RTM NEW/DELLINK IFLA_IFNAME copy for maximum ifname length
If the kernel rtm_newlink or rtm_dellink send the maximum length of ifname (IFNAMSIZ), the event handlers in wpa_driver_nl80211_event_rtm_addlink() and wpa_driver_nl80211_event_rtm_dellink() did not copy the IFLA_IFNAME value. Because the RTA_PAYLOAD (IFLA_IFNAME) length already includes the NULL termination, that equals the IFNAMSIZ. Fix the condition when IFNAME reach maximum size. Signed-off-by: Ouden <Ouden.Biz@gmail.com> Gbp-Pq: Name git_realtek_macrand.patch
This commit is contained in:
parent
d1b434e871
commit
ebd6824eaa
|
@ -1065,7 +1065,7 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
|
|||
while (RTA_OK(attr, attrlen)) {
|
||||
switch (attr->rta_type) {
|
||||
case IFLA_IFNAME:
|
||||
if (RTA_PAYLOAD(attr) >= IFNAMSIZ)
|
||||
if (RTA_PAYLOAD(attr) > IFNAMSIZ)
|
||||
break;
|
||||
os_memcpy(ifname, RTA_DATA(attr), RTA_PAYLOAD(attr));
|
||||
ifname[RTA_PAYLOAD(attr)] = '\0';
|
||||
|
@ -1240,7 +1240,7 @@ static void wpa_driver_nl80211_event_rtm_dellink(void *ctx,
|
|||
while (RTA_OK(attr, attrlen)) {
|
||||
switch (attr->rta_type) {
|
||||
case IFLA_IFNAME:
|
||||
if (RTA_PAYLOAD(attr) >= IFNAMSIZ)
|
||||
if (RTA_PAYLOAD(attr) > IFNAMSIZ)
|
||||
break;
|
||||
os_memcpy(ifname, RTA_DATA(attr), RTA_PAYLOAD(attr));
|
||||
ifname[RTA_PAYLOAD(attr)] = '\0';
|
||||
|
|
Loading…
Reference in New Issue