diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2011-01-24 18:16:26 +0200 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2011-01-24 18:16:26 +0200 |
commit | 2878cae7a7102da34588bbb0cfaf3e1c29c14cfe (patch) | |
tree | 5e814d6f988c4b109e7bdef95231ff59448ef193 /wlantest | |
parent | 5acf56f6a2b6dd549c626f77c63db47cffa3c860 (diff) | |
download | external_wpa_supplicant_8_ti-2878cae7a7102da34588bbb0cfaf3e1c29c14cfe.zip external_wpa_supplicant_8_ti-2878cae7a7102da34588bbb0cfaf3e1c29c14cfe.tar.gz external_wpa_supplicant_8_ti-2878cae7a7102da34588bbb0cfaf3e1c29c14cfe.tar.bz2 |
wlantest: Handle missing fields in TDLS Setup Response error case
Diffstat (limited to 'wlantest')
-rw-r--r-- | wlantest/rx_tdls.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/wlantest/rx_tdls.c b/wlantest/rx_tdls.c index 90f6a13..76a1bea 100644 --- a/wlantest/rx_tdls.c +++ b/wlantest/rx_tdls.c @@ -284,13 +284,14 @@ static void rx_data_tdls_setup_response(struct wlantest *wt, const u8 *bssid, wpa_printf(MSG_DEBUG, "TDLS Setup Response " MACSTR " -> " MACSTR " (status %d)", MAC2STR(src), MAC2STR(dst), status); - if (len < 5) { + if (len < 5 && status == 0) { wpa_printf(MSG_INFO, "Too short TDLS Setup Response " MACSTR " -> " MACSTR, MAC2STR(src), MAC2STR(dst)); return; } - if (ieee802_11_parse_elems(data + 5, len - 5, &elems, 1) == + if (len < 5 || + ieee802_11_parse_elems(data + 5, len - 5, &elems, 1) == ParseFailed || elems.link_id == NULL) { /* Need to match TDLS link based on Dialog Token */ rx_data_tdls_setup_response_failure(wt, bssid, sta_addr, |