From 94a976d47ef065d298c411f8f4d3f4f32f3fa972 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Wed, 3 Jul 2019 07:20:25 +0200 Subject: [PATCH] ftp: removes one use of atoi Fixes only one small part of #3053 --- src/app-layer-ftp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/app-layer-ftp.c b/src/app-layer-ftp.c index 6861e20e8a..08a25ede0d 100644 --- a/src/app-layer-ftp.c +++ b/src/app-layer-ftp.c @@ -397,6 +397,8 @@ static uint16_t ftp_validate_port(int computed_port_value) */ static uint16_t FTPGetV6PortNumber(uint8_t *input, uint32_t input_len) { + uint16_t res; + uint8_t *ptr = memrchr(input, '|', input_len); if (ptr == NULL) { return 0; @@ -410,7 +412,10 @@ static uint16_t FTPGetV6PortNumber(uint8_t *input, uint32_t input_len) if (ptr == NULL) return 0; - return ftp_validate_port(atoi((char *)ptr + 1)); + if (ByteExtractStringUint16(&res, 10, 0, (const char *)ptr + 1) < 0) { + return 0; + } + return res; } /**