From: Ehsan Mohandesi <emohand...@microsoft.com>

One extra character was being checked in the IPv6 string which caused the
last character of the address to be neither '\0' nor ':'. This raises an
error condition and causes the function to always return an error. This
issue was resolved by this fix.

Signed-off-by: Ehsan Mohandesi <emohand...@microsoft.com>
---
 net/tftp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/tftp.c b/net/tftp.c
index c780c33..328fd90 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -837,7 +837,7 @@ void tftp_start(enum proto_t protocol)
                        e = strchr(net_boot_file_name, ']');
                        len = e - s;
                        if (s && e) {
-                               string_to_ip6(s + 1, len, &tftp_remote_ip6);
+                               string_to_ip6(s + 1, len - 1, &tftp_remote_ip6);
                                strlcpy(tftp_filename, e + 2, MAX_LEN);
                        } else {
                                strlcpy(tftp_filename, net_boot_file_name, 
MAX_LEN);
-- 
1.8.3.1

Reply via email to