diff --git a/net/mac80211/wpa.c b/net/mac80211/wpa.c index 5fd8a3e8b5b4..2ba005dfd614 100644 --- a/net/mac80211/wpa.c +++ b/net/mac80211/wpa.c @@ -159,7 +159,8 @@ ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx) data = skb->data + hdrlen; data_len = skb->len - hdrlen - MICHAEL_MIC_LEN; key = &rx->key->conf.key[NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY]; - michael_mic(key, hdr, data, data_len, mic); + if (michael_mic(key, hdr, data, data_len, mic) < 0) + goto mic_fail; if (crypto_memneq(mic, data + data_len, MICHAEL_MIC_LEN)) goto mic_fail;