aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2022-07-08 18:39:05 +0200
committerGitHub <noreply@github.com>2022-07-08 18:39:05 +0200
commitdfe6557e181afc5d4fb4d01241760920fd4b7b69 (patch)
tree5ddd54071c8f042e20fdc6f6b291f979504bde4d /src
parent510517126a63f828754826b5bcfc4b4d1d3791d4 (diff)
TFTP: fix memory access (#1653)
Diffstat (limited to 'src')
-rw-r--r--src/lib/protocols/tftp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/protocols/tftp.c b/src/lib/protocols/tftp.c
index f5aa32e62..2366bbe1f 100644
--- a/src/lib/protocols/tftp.c
+++ b/src/lib/protocols/tftp.c
@@ -98,7 +98,8 @@ void ndpi_search_tftp(struct ndpi_detection_module_struct
{
ndpi_set_risk(ndpi_struct, flow, NDPI_MALFORMED_PACKET, "Invalid TFTP RR/WR header: Source/Destination file missing");
} else {
- memcpy(flow->protos.tftp.filename, &packet->payload[2], ndpi_min(filename_len, sizeof(flow->protos.tftp.filename) - 1));
+ filename_len = ndpi_min(filename_len, sizeof(flow->protos.tftp.filename) - 1);
+ memcpy(flow->protos.tftp.filename, &packet->payload[2], filename_len);
flow->protos.tftp.filename[filename_len] = '\0';
}