From: Yuya Hamamachi <[email protected]>

The TFTP transfer size is unsigned integer, update the data type
and print formating string accordingly to prevent an overflow in
case the file size is longer than 2 GiB.

TFTP transfer of a 3 GiB file, before (wrong) and after (right):
Loading: #################################################  16 EiB
Loading: ##################################################  3 GiB

Signed-off-by: Yuya Hamamachi <[email protected]>
Signed-off-by: Marek Vasut <[email protected]>
---
Cc: "Alvin Šipraga" <[email protected]>
Cc: Alexander Sverdlin <[email protected]>
Cc: Andre Przywara <[email protected]>
Cc: Andrew Goodbody <[email protected]>
Cc: Ilias Apalodimas <[email protected]>
Cc: Jerome Forissier <[email protected]>
Cc: Joe Hershberger <[email protected]>
Cc: Leonard Anderweit <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Mattijs Korpershoek <[email protected]>
Cc: Quentin Schulz <[email protected]>
Cc: Ramon Fried <[email protected]>
Cc: Simon Glass <[email protected]>
Cc: Tom Rini <[email protected]>
Cc: Yuya Hamamachi <[email protected]>
Cc: [email protected]
---
 net/tftp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/tftp.c b/net/tftp.c
index 78ec44159c1..5f2e0a2bc06 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -94,7 +94,7 @@ static int    tftp_state;
 static ulong   tftp_load_addr;
 #ifdef CONFIG_TFTP_TSIZE
 /* The file size reported by the server */
-static int     tftp_tsize;
+static unsigned int tftp_tsize;
 /* The number of hashes we printed */
 static short   tftp_tsize_num_hash;
 #endif
@@ -573,7 +573,7 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct 
in_addr sip,
                        if (strcasecmp((char *)pkt + i, "tsize") == 0) {
                                tftp_tsize = dectoul((char *)pkt + i + 6,
                                                     NULL);
-                               debug("size = %s, %d\n",
+                               debug("size = %s, %u\n",
                                      (char *)pkt + i + 6, tftp_tsize);
                        }
 #endif
-- 
2.51.0

Reply via email to