diff options
| author | Yuya Hamamachi <[email protected]> | 2026-01-29 23:30:19 +0100 |
|---|---|---|
| committer | Jerome Forissier <[email protected]> | 2026-02-06 16:37:31 +0100 |
| commit | a28db0f1ccd6d7f88e9715486376bc039975f72c (patch) | |
| tree | 67f66d0a7a12551db45d8c2572da010a1d7e49d4 | |
| parent | 86f90e2a5fb0283552f610e293fcee2a29724094 (diff) | |
net: tftp: Fix TFTP Transfer Size data type
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]>
| -rw-r--r-- | net/tftp.c | 4 |
1 files 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 |
