From ad1bdf56e3f212446e1c61fd45de8b94de5e2bc3 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Thu, 28 Oct 2021 08:43:14 +0200 Subject: [PATCH] ensure command alignment is correct --- src/rencache.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rencache.c b/src/rencache.c index 5c6de32..4750dbc 100644 --- a/src/rencache.c +++ b/src/rencache.c @@ -1,4 +1,5 @@ #include +#include #include "rencache.h" /* a cache over the software renderer -- all drawing operations are stored as @@ -78,6 +79,8 @@ static RenRect merge_rects(RenRect a, RenRect b) { static Command* push_command(int type, int size) { + size_t alignment = alignof(max_align_t) - 1; + size = (size + alignment) & ~alignment; Command *cmd = (Command*) (command_buf + command_buf_idx); int n = command_buf_idx + size; if (n > COMMAND_BUF_SIZE) {