wireless, wl1251: Fix potential NULL pointer dereference in wl1251_op_bss_info_changed()
authorJesper Juhl <jj@chaosbits.net>
Thu, 3 Feb 2011 20:14:01 +0000 (21:14 +0100)
committerGrazvydas Ignotas <notasas@gmail.com>
Fri, 4 Mar 2011 17:30:55 +0000 (19:30 +0200)
In drivers/net/wireless/wl12xx/wl1251_main.c:wl1251_op_bss_info_changed() we make
a call to ieee80211_beacon_get() which may return NULL, but we do not
check the return value before dereferencing the pointer.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1251_main.c

index 049f6c8..093bda2 100644 (file)
@@ -1040,6 +1040,9 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
 
        if (changed & BSS_CHANGED_BEACON) {
                beacon = ieee80211_beacon_get(hw, vif);
+               if (!beacon)
+                       goto out_sleep;
+
                ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data,
                                              beacon->len);