diff --git a/changes/bug31036 b/changes/bug31036 new file mode 100644 index 0000000000..d9921dba43 --- /dev/null +++ b/changes/bug31036 @@ -0,0 +1,3 @@ + o Minor bugfixes (windows): + - Fix a bug that prevented Tor from starting if its log file + grew above 2GB. Fixes bug 31036; bugfix on 0.2.1.8-alpha. diff --git a/src/lib/fdio/fdio.c b/src/lib/fdio/fdio.c index df4196aacd..56e3818f5c 100644 --- a/src/lib/fdio/fdio.c +++ b/src/lib/fdio/fdio.c @@ -48,7 +48,7 @@ off_t tor_fd_getpos(int fd) { #ifdef _WIN32 - return (off_t) _lseek(fd, 0, SEEK_CUR); + return (off_t) _lseeki64(fd, 0, SEEK_CUR); #else return (off_t) lseek(fd, 0, SEEK_CUR); #endif @@ -61,7 +61,7 @@ int tor_fd_seekend(int fd) { #ifdef _WIN32 - return _lseek(fd, 0, SEEK_END) < 0 ? -1 : 0; + return _lseeki64(fd, 0, SEEK_END) < 0 ? -1 : 0; #else off_t rc = lseek(fd, 0, SEEK_END) < 0 ? -1 : 0; #ifdef ESPIPE @@ -80,7 +80,7 @@ int tor_fd_setpos(int fd, off_t pos) { #ifdef _WIN32 - return _lseek(fd, pos, SEEK_SET) < 0 ? -1 : 0; + return _lseeki64(fd, pos, SEEK_SET) < 0 ? -1 : 0; #else return lseek(fd, pos, SEEK_SET) < 0 ? -1 : 0; #endif