Procházet zdrojové kódy

net: ipv6: Fixed IPv6 string to address conversion off-by-one error

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 <emohandesi@microsoft.com>
Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
Ehsan Mohandesi před 1 rokem
rodič
revize
7db25d99b2
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      net/tftp.c

+ 1 - 1
net/tftp.c

@@ -845,7 +845,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);