From 4ab1af1fa9e945ffdfcc21e4e4dc5980965bd88f Mon Sep 17 00:00:00 2001 From: Francesco Chemolli Date: Fri, 3 Jul 2015 11:38:18 +0200 Subject: [PATCH] Fix CID 740322: unchecked lseek return value in disk.cc --- src/disk.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/disk.cc b/src/disk.cc index bd461f712a..a5ee680909 100644 --- a/src/disk.cc +++ b/src/disk.cc @@ -421,7 +421,12 @@ diskHandleRead(int fd, void *data) { #endif debugs(6, 3, "diskHandleRead: FD " << fd << " seeking to offset " << ctrl_dat->offset); - lseek(fd, ctrl_dat->offset, SEEK_SET); /* XXX ignore return? */ + errno = 0; + if (lseek(fd, ctrl_dat->offset, SEEK_SET) == -1) { + // shouldn't happen, let's detect that + debugs(50, DBG_IMPORTANT, "error in seek for fd " << fd << ": " << xstrerror()); + // XXX handle failures? + } ++ statCounter.syscalls.disk.seeks; F->disk.offset = ctrl_dat->offset; } -- 2.47.2