net: tftp: Fix tftp_prev_block counter update
Fixes missing update to tftp_prev_block counter before increase tftp_cur_block counter when do the tftpput operation. tftp_prev_block counter is used in update_block_number() function to check whether block number (sequence number) is rollover. This bug cause the tftpput command fail to upload a large file when block number is greater than 16-bit (0xFFFF). Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com> Reviewed-By: Ramon Fried <rfried.dev@gmail.com>
This commit is contained in:
parent
387cbf096e
commit
6bf46367f5
|
@ -502,6 +502,7 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
|
|||
int block = ntohs(*s);
|
||||
int ack_ok = (tftp_cur_block == block);
|
||||
|
||||
tftp_prev_block = tftp_cur_block;
|
||||
tftp_cur_block = (unsigned short)(block + 1);
|
||||
update_block_number();
|
||||
if (ack_ok)
|
||||
|
|
Loading…
Reference in New Issue