Mesa (main): vulkan/wsi/wayland: fix an invalid u_vector_init call

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Oct 5 18:15:36 UTC 2021


Module: Mesa
Branch: main
Commit: eed0fc4caf27795858ed758c228e55b2ef74e518
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eed0fc4caf27795858ed758c228e55b2ef74e518

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Mon Oct  4 18:01:06 2021 -0700

vulkan/wsi/wayland: fix an invalid u_vector_init call

u_vector_init requires size to be power-of-two.

Fixes: 151b65b2119 ("vulkan/wsi/wayland: generalize modifier handling")
Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13186>

---

 src/vulkan/wsi/wsi_common_wayland.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c
index 4d16ba60098..e36a4683123 100644
--- a/src/vulkan/wsi/wsi_common_wayland.c
+++ b/src/vulkan/wsi/wsi_common_wayland.c
@@ -455,8 +455,9 @@ wsi_wl_display_init(struct wsi_wayland *wsi_wl,
    VkResult result = VK_SUCCESS;
    memset(display, 0, sizeof(*display));
 
-   if (!u_vector_init(&display->formats, sizeof(struct wsi_wl_format),
-                      8 * sizeof(struct wsi_wl_format)))
+   const size_t elem_size =
+      util_next_power_of_two(sizeof(struct wsi_wl_format));
+   if (!u_vector_init(&display->formats, elem_size, 8 * elem_size))
       return VK_ERROR_OUT_OF_HOST_MEMORY;
 
    display->wsi_wl = wsi_wl;



More information about the mesa-commit mailing list