> - if ((!memcmp(&rx_pkt_hdr->rfc1042_hdr, bridge_tunnel_header, > - sizeof(bridge_tunnel_header))) || > - (!memcmp(&rx_pkt_hdr->rfc1042_hdr, rfc1042_header, > - sizeof(rfc1042_header)) && > - ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_AARP && > - ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_IPX)) { > + if (sizeof(rx_pkt_hdr) + rx_pkt_off <= skb->len && sizeof(*rx_pkt_hdr)?