From 1c9638667b7068539dc5783c9428d588b14162ea Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Fri, 11 Jun 2021 12:58:46 +0200 Subject: [PATCH] util/oslib-win32: Fix fatal assertion in qemu_try_memalign MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The function is called with alignment == 0 which caused an assertion. Use the code from oslib-posix.c to fix that regression. Fixes: ed6f53f9ca9 Signed-off-by: Stefan Weil Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20210611105846.347954-1-sw@weilnetz.de> Signed-off-by: Richard Henderson --- util/oslib-win32.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/util/oslib-win32.c b/util/oslib-win32.c index ee3a3692d8..af559ef339 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -58,7 +58,11 @@ void *qemu_try_memalign(size_t alignment, size_t size) void *ptr; g_assert(size != 0); - g_assert(is_power_of_2(alignment)); + if (alignment < sizeof(void *)) { + alignment = sizeof(void *); + } else { + g_assert(is_power_of_2(alignment)); + } ptr = _aligned_malloc(size, alignment); trace_qemu_memalign(alignment, size, ptr); return ptr;