diff options
Diffstat (limited to 'src/lib/protocols/capwap.c')
-rw-r--r-- | src/lib/protocols/capwap.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/protocols/capwap.c b/src/lib/protocols/capwap.c index bfad1a593..33b20fcab 100644 --- a/src/lib/protocols/capwap.c +++ b/src/lib/protocols/capwap.c @@ -66,10 +66,12 @@ static void ndpi_search_setup_capwap(struct ndpi_detection_module_struct *ndpi_s else offset = 15, to_add = 17; - msg_len = ntohs(*(u_int16_t*)&packet->payload[offset]); + if (packet->payload_packet_len >= offset + sizeof(u_int16_t)) { + msg_len = ntohs(*(u_int16_t*)&packet->payload[offset]); - if((msg_len+to_add) == packet->payload_packet_len) - goto capwap_found; + if((msg_len+to_add) == packet->payload_packet_len) + goto capwap_found; + } } if( |