diff options
author | theirix <theirix@gmail.com> | 2016-07-25 11:15:39 +0300 |
---|---|---|
committer | theirix <theirix@gmail.com> | 2016-07-25 11:19:00 +0300 |
commit | 3dec8d18807463f50420fb1a6f7a5a722c8f54fb (patch) | |
tree | fb6ca8d9503b6880eb711fcc04b1377f6e65c849 /src/lib/protocols | |
parent | b102caf482aa4d455fc7db961902881d522d6079 (diff) |
Fixed BGP payload overflow
Diffstat (limited to 'src/lib/protocols')
-rw-r--r-- | src/lib/protocols/bgp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/protocols/bgp.c b/src/lib/protocols/bgp.c index 3b0d8d5cb..e72fdee57 100644 --- a/src/lib/protocols/bgp.c +++ b/src/lib/protocols/bgp.c @@ -39,9 +39,9 @@ void ndpi_search_bgp(struct ndpi_detection_module_struct *ndpi_struct, struct nd u_int16_t bgp_port = htons(179); if(packet->tcp + && (packet->payload_packet_len > 18) && (packet->payload[18] < 5) && ((packet->tcp->dest == bgp_port) || (packet->tcp->source == bgp_port)) - && (packet->payload_packet_len > 18) && (get_u_int64_t(packet->payload, 0) == 0xffffffffffffffffULL) && (get_u_int64_t(packet->payload, 8) == 0xffffffffffffffffULL) && (ntohs(get_u_int16_t(packet->payload, 16)) <= packet->payload_packet_len) |