diff options
| author | Mattias Andrée <m@maandree.se> | 2026-05-17 22:41:13 +0200 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-05-17 22:41:13 +0200 |
| commit | fd67b2b01b762ecebe8bcc3666db0732774d4d54 (patch) | |
| tree | 1a581123bb5d045350cea09192239a10f38ab1ca | |
| parent | Fix cache coherency bug (diff) | |
| download | libar2simplified-fd67b2b01b762ecebe8bcc3666db0732774d4d54.tar.gz libar2simplified-fd67b2b01b762ecebe8bcc3666db0732774d4d54.tar.bz2 libar2simplified-fd67b2b01b762ecebe8bcc3666db0732774d4d54.tar.xz | |
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
| -rw-r--r-- | libar2simplified_init_context.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libar2simplified_init_context.c b/libar2simplified_init_context.c index 6a5cb88..814e182 100644 --- a/libar2simplified_init_context.c +++ b/libar2simplified_init_context.c @@ -51,8 +51,9 @@ alignedalloc(size_t num, size_t size, size_t extra, size_t alignment) static void * allocate(size_t num, size_t size, size_t alignment, struct libar2_context *ctx) { - size_t pad = (alignment - ((2 * sizeof(size_t)) & (alignment - 1))) & (alignment - 1); - char *ptr = alignedalloc(num, size, pad + 2 * sizeof(size_t), alignment); + size_t extra = 2 * sizeof(size_t); + size_t pad = -extra & (alignment - 1); + char *ptr = alignedalloc(num, size, pad + extra, alignment); if (ptr) { ptr += pad; memcpy(ptr, &pad, sizeof(size_t)); |
