summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-08-27 15:04:22 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-08-27 15:04:22 -0400
commit1434f532d0fded3bd255efa946059d18caab1509 (patch)
tree3a0c212396c18dd0da20357ffad79c1fe3835e57
parent8086417171fd782e84d1e31a2dbfdf6ed7f97c75 (diff)
pkmem: ensure bucket size is factor of alignment
-rw-r--r--pkmem.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkmem.h b/pkmem.h
index 7807e3c..76c0e00 100644
--- a/pkmem.h
+++ b/pkmem.h
@@ -226,6 +226,9 @@ pk_mem_bucket_create(const char* description, int64_t sz, enum PK_MEMBUCKET_FLAG
// [000-127] pk_membucket
// [128-191] 64 bytes of data LOL
// [192-511] 20 pk_memblocks (20 is worst-case, start 16, 4 per 64 bytes)
+ if ((sz % 64) > 0) {
+ sz += 64 - (sz % 64);
+ }
assert(sz >= 512 && "[pkmem.h] bucket too small to track allocation data");
struct pk_membucket* bkt = (struct pk_membucket*)aligned_alloc(64, sz);
if (bkt == NULL) return NULL;