From: Nick Mathewson Date: Wed, 20 Aug 2014 17:48:17 +0000 (-0400) Subject: Fix return value of tor_fd_seekend. X-Git-Tag: tor-0.2.6.1-alpha~192 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c61d10c6c09b32a4b8acd2553aa05c4fbc06611;p=thirdparty%2Ftor.git Fix return value of tor_fd_seekend. Previously, we had documented it to return -1 or 0, when in fact lseek returns -1 or the new position in the file. This is harmless, since we were only checking for negative values when we used tor_fd_seekend. --- diff --git a/src/common/compat.c b/src/common/compat.c index eb9a70f580..278e5c5241 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -990,14 +990,14 @@ tor_fd_seekend(int fd) #ifdef _WIN32 return _lseek(fd, 0, SEEK_END) < 0 ? -1 : 0; #else - int rc = lseek(fd, 0, SEEK_END) < 0 ? -1 : 0; + off_t rc = lseek(fd, 0, SEEK_END) < 0 ? -1 : 0; #ifdef ESPIPE /* If we get an error and ESPIPE, then it's a pipe or a socket of a fifo: * no need to worry. */ if (rc < 0 && errno == ESPIPE) rc = 0; #endif - return rc; + return (rc < 0) ? -1 : 0; #endif }