Explorar o código

wireless: fix memory corruption bug when using vlans/station entries in the config

On config reload, any vif entries in the config added to the vlist will be
matched against existing ones, and the old entries preserved.
This means that the vif pointer is no longer valid after vlist_add.
Look up the vif again before using it for vlan/station entries.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau %!s(int64=3) %!d(string=hai) anos
pai
achega
87e469be0c
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      wireless.c

+ 2 - 1
wireless.c

@@ -1129,7 +1129,8 @@ struct wireless_interface* wireless_interface_create(struct wireless_device *wde
 	vif->isolate = false;
 
 	vlist_add(&wdev->interfaces, &vif->node, vif->name);
-	return vif;
+
+	return vlist_find(&wdev->interfaces, name, vif, node);
 }
 
 static void