diff --git a/src/sparse.c b/src/sparse.c index 92b8bdc0902dfd8c8559c70c3c759510eb97bc91..a8ba503e120ae6438b712d3572931c2fc387d154 100644 --- a/src/sparse.c +++ b/src/sparse.c @@ -130,9 +130,9 @@ void Sparse_ReadChunksHeader(struct Sparse * const sparse) for(size_t i = 0; i < sparse->header.chunk_count; i++) { size_t bytes_read = FIO_Read(sparse->fd, &sparse->chunks[i].header, CHUNK_HEADER_SIZE); if(bytes_read == CHUNK_HEADER_SIZE) { - size_t curr_offset = FIO_Tell(sparse->fd); - sparse->chunks[i].offset = curr_offset; - sparse->chunks[i].size = sparse->chunks[i].header.total_size - CHUNK_HEADER_SIZE; + sparse->chunks[i].size = sparse->chunks[i].header.total_size - CHUNK_HEADER_SIZE; + sparse->chunks[i].offset = FIO_Tell(sparse->fd); + sparse->chunks[i].data = NULL; FIO_Seek(sparse->fd, sparse->chunks[i].size, SEEK_CUR); } else { Log_Fatal(&s_logger, "FIO_Read(%d) failed! %s\n", sparse->fd, strerror(errno));