]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Use _lseeki64() on windows.
authorNick Mathewson <nickm@torproject.org>
Tue, 28 Jul 2020 15:30:47 +0000 (11:30 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 28 Jul 2020 15:30:47 +0000 (11:30 -0400)
Fixes bug 31036; bugfix on 0.2.1.8-alpha when we moved the logging
system to use posix fds.

changes/bug31036 [new file with mode: 0644]
src/lib/fdio/fdio.c

diff --git a/changes/bug31036 b/changes/bug31036
new file mode 100644 (file)
index 0000000..d9921db
--- /dev/null
@@ -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.
index 6c87af791d3000bd86a73b9d085afb99a9f66424..d723d04d2a26db765478afec563341e359063d40 100644 (file)
@@ -43,7 +43,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
@@ -56,7 +56,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
@@ -75,7 +75,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