From 837060f894a4aba7d069b35f4600003fb0d10036 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Thu, 22 Feb 2024 13:44:46 +0100 Subject: [PATCH] xwayland/xwm: Avoid zero-size allocaiton Zero-sized allocations have glibc-specific behavior, so avoid those. --- xwayland/xwm.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/xwayland/xwm.c b/xwayland/xwm.c index c75f2be7..8cc64a12 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -290,15 +290,18 @@ static void xwm_set_net_client_list(struct wlr_xwm *xwm) { } } - xcb_window_t *windows = malloc(sizeof(xcb_window_t) * mapped_surfaces); - if (!windows) { - return; - } + xcb_window_t *windows = NULL; + if (mapped_surfaces > 0) { + xcb_window_t *windows = malloc(sizeof(*windows) * mapped_surfaces); + if (!windows) { + return; + } - size_t index = 0; - wl_list_for_each(surface, &xwm->surfaces, link) { - if (surface->surface != NULL && surface->surface->mapped) { - windows[index++] = surface->window_id; + size_t index = 0; + wl_list_for_each(surface, &xwm->surfaces, link) { + if (surface->surface != NULL && surface->surface->mapped) { + windows[index++] = surface->window_id; + } } }