]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix CID 740323: unchecked lseek return value in disk.cc
authorFrancesco Chemolli <kinkie@squid-cache.org>
Fri, 3 Jul 2015 10:43:33 +0000 (12:43 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Fri, 3 Jul 2015 10:43:33 +0000 (12:43 +0200)
src/disk.cc

index a5ee68090915c5d93540f2dc90d2b1311317b1c0..67dec9c45d73d5c039a9231bb8db178a5534ccea 100644 (file)
@@ -219,8 +219,13 @@ diskHandleWrite(int fd, void *)
 
     errno = 0;
 
-    if (fdd->write_q->file_offset != -1)
-        lseek(fd, fdd->write_q->file_offset, SEEK_SET); /* XXX ignore return? */
+    if (fdd->write_q->file_offset != -1) {
+        errno = 0;
+        if (lseek(fd, fdd->write_q->file_offset, SEEK_SET) == -1) {
+            debugs(50, DBG_IMPORTANT, "error in seek for fd " << fd << ": " << xstrerror());
+            // XXX: handle error?
+        }
+    }
 
     len = FD_WRITE_METHOD(fd,
                           fdd->write_q->buf + fdd->write_q->buf_offset,