From: Francesco Chemolli Date: Fri, 3 Jul 2015 09:38:18 +0000 (+0200) Subject: Fix CID 740322: unchecked lseek return value in disk.cc X-Git-Tag: merge-candidate-3-v1~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4ab1af1fa9e945ffdfcc21e4e4dc5980965bd88f;p=thirdparty%2Fsquid.git Fix CID 740322: unchecked lseek return value in disk.cc --- 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; }