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

