From 24661bbadc4b2e8db2d776277c45a0407797368a Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 11 Oct 2014 19:38:45 +0300 Subject: [PATCH] AP: Check os_get_random() return value more consistently While this specific case does not really care what value is used, the the theoretical error case can be handled more consistently. (CID 72684) Signed-off-by: Jouni Malinen --- src/ap/sta_info.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c index f0f01b4a2..ed63aa8da 100644 --- a/src/ap/sta_info.c +++ b/src/ap/sta_info.c @@ -904,7 +904,15 @@ static void ap_sa_query_timer(void *eloop_ctx, void *timeout_ctx) sta->sa_query_trans_id = nbuf; sta->sa_query_count++; - os_get_random(trans_id, WLAN_SA_QUERY_TR_ID_LEN); + if (os_get_random(trans_id, WLAN_SA_QUERY_TR_ID_LEN) < 0) { + /* + * We don't really care which ID is used here, so simply + * hardcode this if the mostly theoretical os_get_random() + * failure happens. + */ + trans_id[0] = 0x12; + trans_id[1] = 0x34; + } timeout = hapd->conf->assoc_sa_query_retry_timeout; sec = ((timeout / 1000) * 1024) / 1000;