memalign: fix off-by-one bug in alignment
authorJens Axboe <axboe@fb.com>
Tue, 23 Sep 2014 16:59:50 +0000 (10:59 -0600)
committerJens Axboe <axboe@fb.com>
Tue, 23 Sep 2014 16:59:50 +0000 (10:59 -0600)
Signed-off-by: Jens Axboe <axboe@fb.com>
memalign.c

index 7a04ffd8c31aa38443034fa300942bb8adf2259e..cfd6e463ff924682d44346d130283094b7de3a07 100644 (file)
@@ -20,7 +20,7 @@ void *fio_memalign(size_t alignment, size_t size)
 
        ptr = malloc(size + alignment + size + sizeof(*f) - 1);
        if (ptr) {
-               ret = PTR_ALIGN(ptr, alignment);
+               ret = PTR_ALIGN(ptr, alignment - 1);
                f = ret + size;
                f->offset = (uintptr_t) ret - (uintptr_t) ptr;
        }