diff --git a/owlps-listener/owlps-listenerd.c b/owlps-listener/owlps-listenerd.c index 7d74a99..3bfff5b 100644 --- a/owlps-listener/owlps-listenerd.c +++ b/owlps-listener/owlps-listenerd.c @@ -855,6 +855,9 @@ void read_packet(u_char *args, const struct pcap_pkthdr *header, memcpy(&rtap_bytes, &packet[2], sizeof(rtap_bytes)) ; // Radiotap header is little-endian rtap_bytes = le16toh(rtap_bytes) ; + // Check rtap_bytes for buggy values + if (rtap_bytes > 100) + return ; // After the rtap header, there is the 802.11 header; the first byte // is the first byte of the Frame Control (FC) field, which contains