net: tftp: fix type of block arg to store_block
authorJayachandran Chandrasekharan Nair <jayachandranc@netlogicmicro.com>
Tue, 10 Jul 2012 06:18:54 +0000 (11:48 +0530)
committerJoe Hershberger <joe.hershberger@ni.com>
Wed, 11 Jul 2012 18:14:16 +0000 (13:14 -0500)
commitbc46dfac2f21756642e549b05689e03db538639f
treea93532c71e061d9257e14aba5c6aebe67ce549ce
parent211e47549b668c7cdd8658c0413a272f0d0495d4
net: tftp: fix type of block arg to store_block

The block argument for store_block can be -1 when the tftp sequence
number rolls over (i.e TftpBlock == 0), so the first argument to
store_block has to be of type 'int' instead of 'unsigned'.

In our environment (gcc 4.4.5 mips toolchain), this causes incorrect
'offset' to be generated for storing the block, and the tftp block
with number 0 will be written elsewhere, resulting in a bad block in
the downloaded file and a memory corruption.

Signed-off-by: Jayachandran Chandrasekharan Nair <jayachandranc@netlogicmicro.com>
net/tftp.c