From 529e12fcd22009122a6726b3a2aa230d4b477263 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 24 Feb 2025 13:58:25 +0100 Subject: [PATCH] xwayland: protect from memory allocation failure Signed-off-by: Enrico Weigelt, metux IT consult --- hw/xwayland/xwayland-drm-lease.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/xwayland/xwayland-drm-lease.c b/hw/xwayland/xwayland-drm-lease.c index 76260cd2a..b6c984b5d 100644 --- a/hw/xwayland/xwayland-drm-lease.c +++ b/hw/xwayland/xwayland-drm-lease.c @@ -125,7 +125,6 @@ xwl_randr_request_lease(ClientPtr client, ScreenPtr screen, RRLeasePtr rrLease) { struct xwl_screen *xwl_screen; struct wp_drm_lease_request_v1 *req; - struct xwl_drm_lease *lease_private; struct xwl_drm_lease_device *lease_device = NULL; struct xwl_drm_lease_device *device_data; struct xwl_output *output; @@ -165,7 +164,9 @@ xwl_randr_request_lease(ClientPtr client, ScreenPtr screen, RRLeasePtr rrLease) req = wp_drm_lease_device_v1_create_lease_request( lease_device->drm_lease_device); - lease_private = calloc(1, sizeof(struct xwl_drm_lease)); + struct xwl_drm_lease *lease_private = calloc(1, sizeof(struct xwl_drm_lease)); + if (!lease_private) + return BadAlloc; for (i = 0; i < rrLease->numOutputs; ++i) { output = rrLease->outputs[i]->devPrivate; output->lease = lease_private;