X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=io_u.c;h=77069c55277f8aeb0cd93d99754b12913cdfbaee;hp=38efcc16382874d685c1e7b027abff3a640ed560;hb=f0505a1457d848e25e59f0d4373a066c2cef5de0;hpb=fad82f76eaa03e2f486315537e9d83809d155d58 diff --git a/io_u.c b/io_u.c index 38efcc16..77069c55 100644 --- a/io_u.c +++ b/io_u.c @@ -1137,7 +1137,7 @@ static void small_content_scramble(struct io_u *io_u) return; p = io_u->xfer_buf; - boffset= io_u->offset; + boffset = io_u->offset; for (i = 0; i < nr_blocks; i++) { /* @@ -1146,9 +1146,10 @@ static void small_content_scramble(struct io_u *io_u) * and the actual offset. */ offset = (io_u->start_time.tv_usec ^ boffset) & 511; + offset &= ~(sizeof(unsigned long long) - 1); if (offset >= 512 - sizeof(unsigned long long)) offset -= sizeof(unsigned long long); - *((unsigned long long *) p + offset) = boffset; + memcpy(p + offset, &boffset, sizeof(boffset)); end = p + 512 - sizeof(io_u->start_time); memcpy(end, &io_u->start_time, sizeof(io_u->start_time));