]> wimlib.net Git - wimlib/blobdiff - src/header.c
read_wim_header(): Check return value of lseek()
[wimlib] / src / header.c
index 57cea04f1ae96442be014cfa8f9559924be01ecc..e223ce9fa291f1e3756fa0eae2c400cadf1c6996 100644 (file)
@@ -96,7 +96,9 @@ read_wim_header(WIMStruct *wim, struct wim_header *hdr)
                        /* Pipable WIM:  Use header at end instead, unless
                         * actually reading from a pipe.  */
                        if (!in_fd->is_pipe) {
-                               lseek(in_fd->fd, -WIM_HEADER_DISK_SIZE, SEEK_END);
+                               ret = WIMLIB_ERR_READ;
+                               if (-1 == lseek(in_fd->fd, -WIM_HEADER_DISK_SIZE, SEEK_END))
+                                       goto read_error;
                                ret = full_read(in_fd, &disk_hdr, sizeof(disk_hdr));
                                if (ret)
                                        goto read_error;