diff options
author | Derrick Lyndon Pallas <derrick@argosylabs.com> | 2019-04-06 00:29:00 +0000 |
---|---|---|
committer | Derrick Lyndon Pallas <derrick@argosylabs.com> | 2019-04-06 00:31:41 +0000 |
commit | 7415af5086121c6196ad1dc9d0232b000f869ac0 (patch) | |
tree | 081b6811400b00c3e37799a58917dcb130adaccb /src/lib/protocols | |
parent | a455e0d8d48a479d5d43023316cb97cb012b78fa (diff) |
csgo: fix invalid read on short packet
Diffstat (limited to 'src/lib/protocols')
-rw-r--r-- | src/lib/protocols/csgo.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/protocols/csgo.c b/src/lib/protocols/csgo.c index 7f4479419..f316f96b7 100644 --- a/src/lib/protocols/csgo.c +++ b/src/lib/protocols/csgo.c @@ -30,6 +30,11 @@ void ndpi_search_csgo(struct ndpi_detection_module_struct* ndpi_struct, struct n struct ndpi_packet_struct* packet = &flow->packet; if (packet->udp != NULL) { + if (packet->payload_packet_len < sizeof(uint32_t)) { + NDPI_LOG_DBG2(ndpi_struct, "Short csgo packet\n"); + return; + } + uint32_t w = htonl(get_u_int32_t(packet->payload, 0)); NDPI_LOG_DBG2(ndpi_struct, "CSGO: word %08x\n", w); |