Hi Marek

> +     shost = wifi_hdr->addr2;
> +     if (fc & IEEE80211_FCTL_FROMDS)
> +             shost = wifi_hdr->addr3;
> +     else if (fc & IEEE80211_FCTL_TODS)
> +             shost = wifi_hdr->addr4;
> +
> +     dhost = wifi_hdr->addr1;
> +     if (fc & IEEE80211_FCTL_TODS)
> +             dhost = wifi_hdr->addr3;

What would happen if you happened to pick up a WDS packet? Four
addresses in the packet. Do we see sensible addresses?

> +
> +     hdr_len = 24;
> +     if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS))
> +             hdr_len = 30;

Again, WDS? We are now a few bytes out when decoding the rest of the
packet.

       Andrew

Reply via email to