aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/netbios.c
diff options
context:
space:
mode:
authorPhilippe Antoine <contact@catenacyber.fr>2020-04-15 16:27:32 +0200
committerPhilippe Antoine <contact@catenacyber.fr>2020-04-15 16:40:00 +0200
commit4f370fe7c49cb38125cff2a1411261011e433c94 (patch)
tree414df1f45051411a9868b6b7b0b83bc73b0c5f3f /src/lib/protocols/netbios.c
parent9483c842b572a887c59d715d21b4737475ffd092 (diff)
Adds netbios bound check
Diffstat (limited to 'src/lib/protocols/netbios.c')
-rw-r--r--src/lib/protocols/netbios.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/protocols/netbios.c b/src/lib/protocols/netbios.c
index a53a2bfe1..fa47cc4a0 100644
--- a/src/lib/protocols/netbios.c
+++ b/src/lib/protocols/netbios.c
@@ -80,7 +80,8 @@ static void ndpi_int_netbios_add_connection(struct ndpi_detection_module_struct
char name[64];
u_int off = flow->packet.payload[12] == 0x20 ? 12 : 14;
- if(ndpi_netbios_name_interpret((char*)&flow->packet.payload[off], flow->packet.payload_packet_len - off, name, sizeof(name)) > 0)
+ if(off > flow->packet.payload_packet_len &&
+ ndpi_netbios_name_interpret((char*)&flow->packet.payload[off], flow->packet.payload_packet_len - off, name, sizeof(name)) > 0)
snprintf((char*)flow->host_server_name, sizeof(flow->host_server_name)-1, "%s", name);
if(sub_protocol == NDPI_PROTOCOL_UNKNOWN)