mac80211: wep.c replace magic numbers in IV/ICV removal
authorHarvey Harrison <harvey.harrison@gmail.com>
Wed, 16 Jul 2008 01:44:10 +0000 (18:44 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 22 Aug 2008 20:29:53 +0000 (16:29 -0400)
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/wep.c

index 5c2bf0a3d4db67a7e4c7a8c55a3b4cb997b86cdb..639998775b48e62fbf6929560bceadf93c1872b2 100644 (file)
@@ -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;
 
@@ -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;