mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-01 19:42:48 -05:00
Fix uninitialized variable in Windows get_file_posn.
The Windows implementation of get_file_posn is calling SetFilePointer to obtain the current position in the file. However it did not initialize the variable holding the high order 32-bit to 0. Thus, SetFilePointer either returned -1 to indicate an error or did move the file pointer to a different location instead of just returning the current position. This change just initializes the variable to 0. As a result, this bug has caused psftp's reget command to fail resuming transfers or to create corrupt files due to setting up an incorrect resume offset.
This commit is contained in:
@ -244,7 +244,7 @@ int seek_file(WFile *f, uint64 offset, int whence)
|
|||||||
uint64 get_file_posn(WFile *f)
|
uint64 get_file_posn(WFile *f)
|
||||||
{
|
{
|
||||||
uint64 ret;
|
uint64 ret;
|
||||||
LONG lo, hi;
|
LONG lo, hi = 0;
|
||||||
|
|
||||||
lo = SetFilePointer(f->h, 0L, &hi, FILE_CURRENT);
|
lo = SetFilePointer(f->h, 0L, &hi, FILE_CURRENT);
|
||||||
ret.lo = lo;
|
ret.lo = lo;
|
||||||
|
Reference in New Issue
Block a user