From 77a67387b4507b2859dadc32604221a138f2a700 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz <jakob@collabora.com> Date: Wed, 11 Aug 2021 18:09:52 +0100 Subject: [PATCH] ipc/server: Paranoia --- src/xrt/ipc/server/ipc_server_handler.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/xrt/ipc/server/ipc_server_handler.c b/src/xrt/ipc/server/ipc_server_handler.c index 9edb7afc0..0aa1a3800 100644 --- a/src/xrt/ipc/server/ipc_server_handler.c +++ b/src/xrt/ipc/server/ipc_server_handler.c @@ -716,11 +716,19 @@ ipc_handle_swapchain_create(volatile struct ipc_client_state *ics, assert(xsc->num_images <= IPC_MAX_SWAPCHAIN_HANDLES); assert(xsc->num_images <= max_num_handles); - *out_id = index; + // Paranoia. + size_t size = xscn->images[0].size; + bool use_dedicated_allocation = xscn->images[0].use_dedicated_allocation; + for (size_t i = 1; i < xsc->num_images; i++) { + assert(size == xscn->images[0].size); + assert(use_dedicated_allocation == xscn->images[0].use_dedicated_allocation); + } + + // Assuming all images allocated in the same swapchain have the same allocation requirements. *out_size = xscn->images[0].size; - *out_num_images = xsc->num_images; - // assuming all images allocated in the same swapchain have the same allocation requirements *out_use_dedicated_allocation = xscn->images[0].use_dedicated_allocation; + *out_id = index; + *out_num_images = xsc->num_images; // Setup the fds. *out_num_handles = xsc->num_images;