Loading net/mac80211/wep.c +3 −4 Original line number Diff line number Diff line Loading @@ -228,11 +228,10 @@ int ieee80211_wep_decrypt(struct ieee80211_local *local, struct sk_buff *skb, return -1; hdrlen = ieee80211_hdrlen(hdr->frame_control); if (skb->len < 8 + hdrlen) if (skb->len < hdrlen + WEP_IV_LEN + WEP_ICV_LEN) return -1; len = skb->len - hdrlen - 8; len = skb->len - hdrlen - WEP_IV_LEN - WEP_ICV_LEN; keyidx = skb->data[hdrlen + 3] >> 6; Loading Loading @@ -303,7 +302,7 @@ ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx) } else if (!(rx->status->flag & RX_FLAG_IV_STRIPPED)) { ieee80211_wep_remove_iv(rx->local, rx->skb, rx->key); /* remove ICV */ skb_trim(rx->skb, rx->skb->len - 4); skb_trim(rx->skb, rx->skb->len - WEP_ICV_LEN); } return RX_CONTINUE; Loading Loading
net/mac80211/wep.c +3 −4 Original line number Diff line number Diff line Loading @@ -228,11 +228,10 @@ int ieee80211_wep_decrypt(struct ieee80211_local *local, struct sk_buff *skb, return -1; hdrlen = ieee80211_hdrlen(hdr->frame_control); if (skb->len < 8 + hdrlen) if (skb->len < hdrlen + WEP_IV_LEN + WEP_ICV_LEN) return -1; len = skb->len - hdrlen - 8; len = skb->len - hdrlen - WEP_IV_LEN - WEP_ICV_LEN; keyidx = skb->data[hdrlen + 3] >> 6; Loading Loading @@ -303,7 +302,7 @@ ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx) } else if (!(rx->status->flag & RX_FLAG_IV_STRIPPED)) { ieee80211_wep_remove_iv(rx->local, rx->skb, rx->key); /* remove ICV */ skb_trim(rx->skb, rx->skb->len - 4); skb_trim(rx->skb, rx->skb->len - WEP_ICV_LEN); } return RX_CONTINUE; Loading