aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/csgo.c
diff options
context:
space:
mode:
authorDerrick Lyndon Pallas <derrick@argosylabs.com>2019-04-06 00:29:00 +0000
committerDerrick Lyndon Pallas <derrick@argosylabs.com>2019-04-06 00:31:41 +0000
commit7415af5086121c6196ad1dc9d0232b000f869ac0 (patch)
tree081b6811400b00c3e37799a58917dcb130adaccb /src/lib/protocols/csgo.c
parenta455e0d8d48a479d5d43023316cb97cb012b78fa (diff)
csgo: fix invalid read on short packet
Diffstat (limited to 'src/lib/protocols/csgo.c')
-rw-r--r--src/lib/protocols/csgo.c5
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);