hostap: avoid uninitialized variable use in hfa384x_get_rid
authorArnd Bergmann <arnd@arndb.de>
Thu, 28 Jan 2016 21:58:28 +0000 (22:58 +0100)
committerJiri Slaby <jslaby@suse.cz>
Tue, 9 May 2017 06:19:44 +0000 (08:19 +0200)
commit81e06f6e802e89047ec35f893cc953fbdc63988e
treefc6e494b417356fc878cae4f9599f81576774886
parent070d8f38c897946759a3e95f3e4e65f9ccd95b25
hostap: avoid uninitialized variable use in hfa384x_get_rid

commit 48dc5fb3ba53b20418de8514700f63d88c5de3a3 upstream.

The driver reads a value from hfa384x_from_bap(), which may fail,
and then assigns the value to a local variable. gcc detects that
in in the failure case, the 'rlen' variable now contains
uninitialized data:

In file included from ../drivers/net/wireless/intersil/hostap/hostap_pci.c:220:0:
drivers/net/wireless/intersil/hostap/hostap_hw.c: In function 'hfa384x_get_rid':
drivers/net/wireless/intersil/hostap/hostap_hw.c:842:5: warning: 'rec' may be used uninitialized in this function [-Wmaybe-uninitialized]
  if (le16_to_cpu(rec.len) == 0) {

This restructures the function as suggested by Russell King, to
make it more readable and get more reliable error handling, by
handling each failure mode using a goto.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/net/wireless/hostap/hostap_hw.c