aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbb/read.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libbb/read.c b/libbb/read.c
index 1c2945f45..b3648b4d7 100644
--- a/libbb/read.c
+++ b/libbb/read.c
@@ -86,7 +86,8 @@ char *reads(int fd, char *buffer, size_t size)
86 if (p) { 86 if (p) {
87 off_t offset; 87 off_t offset;
88 *p++ = '\0'; 88 *p++ = '\0';
89 offset = (p-buffer) - size; 89 // avoid incorrect (unsigned) widening
90 offset = (off_t)(p-buffer) - (off_t)size;
90 // set fd position the right after the \n 91 // set fd position the right after the \n
91 if (offset && lseek(fd, offset, SEEK_CUR) == (off_t)-1) 92 if (offset && lseek(fd, offset, SEEK_CUR) == (off_t)-1)
92 return NULL; 93 return NULL;