Browse Source

nl80211: Zero num_modes if nl80211_get_hw_feature_data() fails

It was possible that nl80211_get_hw_feature_data() function would return
NULL when num_modes is not set to zero. This might result in a later crash
when accessing hw.modes. This may be reproduced with hwsim oom tests, for
example, dbus_connect_oom.
Fix that by zeroing num_modes if NULL is returned.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Andrei Otcheretianski 8 years ago
parent
commit
517b5f928f
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/drivers/driver_nl80211_capa.c

+ 1 - 0
src/drivers/driver_nl80211_capa.c

@@ -1783,6 +1783,7 @@ nl80211_get_hw_feature_data(void *priv, u16 *num_modes, u16 *flags)
 				os_free(result.modes[i].rates);
 			}
 			os_free(result.modes);
+			*num_modes = 0;
 			return NULL;
 		}
 		return wpa_driver_nl80211_postprocess_modes(result.modes,