Parcourir la source

nl80211: Fix error path in if_indices_reason reallocation

Commit 732b1d20ec06ab92fd22dbdea4609a6528bcf50a ('nl80211: Clean up
ifidx properly if interface in a bridge is removed') added
drv->if_indices_reason array similarly to the previously used
drv->if_indices. However, it had a copy-paste error here on the error
path where a reallocation failure after at least one successful
reallocation would result in the drv->if_indices being overridden
instead of restoring drv->if_indices_reason to the old value. Fix this
by setting the correct variable on the error path. (CID 138514)

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen il y a 9 ans
Parent
commit
29eddc3d8c
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      src/drivers/driver_nl80211.c

+ 1 - 1
src/drivers/driver_nl80211.c

@@ -5712,7 +5712,7 @@ static void add_ifidx(struct wpa_driver_nl80211_data *drv, int ifidx,
 		if (!old_reason)
 			drv->if_indices_reason = drv->default_if_indices_reason;
 		else
-			drv->if_indices = old_reason;
+			drv->if_indices_reason = old_reason;
 	}
 	if (!drv->if_indices || !drv->if_indices_reason) {
 		wpa_printf(MSG_ERROR, "Failed to reallocate memory for "