From 098076cf5ab85ac600d15e25d99997a3aa4eae0d Mon Sep 17 00:00:00 2001 From: Nick Lowe Date: Tue, 9 Feb 2016 16:17:59 +0000 Subject: [PATCH 09/10] Switch from using os_random() to using os_get_random(...) in wpa_supplicant_ctrl_iface_ctrl_rsp_handle(...) The intention is to facilitate the future removal of os_random(). os_random() uses a low quality PRNG which we should avoid using outright unless there is a compelling performance justification to do so. Signed-off-by: Nick Lowe --- wpa_supplicant/wpa_supplicant.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index c3c1f14..c21dc5f 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -5593,7 +5593,7 @@ int wpa_supplicant_ctrl_iface_ctrl_rsp_handle(struct wpa_supplicant *wpa_s, int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) { - int i; + int i, r; unsigned int drv_enc; if (wpa_s->p2p_mgmt) @@ -5710,8 +5710,9 @@ void wpas_auth_failed(struct wpa_supplicant *wpa_s, char *reason) dur = 10; if (ssid->auth_failures > 1 && - wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) - dur += os_random() % (ssid->auth_failures * 10); + wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt) && + os_get_random((u8 *) &r, sizeof(r)) >= 0) + dur += r % (ssid->auth_failures * 10); os_get_reltime(&now); if (now.sec + dur <= ssid->disabled_until.sec) -- 2.5.0