From c545df7426a1e0fab3da64342ef28db72f81e1fb Mon Sep 17 00:00:00 2001 From: David Rosca Date: Sat, 29 Jul 2023 13:38:17 +0200 Subject: [PATCH] frontends/va: Init view_resources array in vlVaPut/GetImage Fixes crash when VA format num_planes > surface num_planes. Fixes: 975a8ecc881 ("frontends/va: use resources instead of views") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9377 Reviewed-by: Leo Liu Part-of: --- src/gallium/frontends/va/image.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/frontends/va/image.c b/src/gallium/frontends/va/image.c index b16183a0d56..d109646d3ff 100644 --- a/src/gallium/frontends/va/image.c +++ b/src/gallium/frontends/va/image.c @@ -563,6 +563,7 @@ vlVaGetImage(VADriverContextP ctx, VASurfaceID surface, int x, int y, } } + memset(view_resources, 0, sizeof(view_resources)); surf->buffer->get_resources(surf->buffer, view_resources); for (i = 0; i < MIN2(vaimage->num_planes, 3); i++) { @@ -693,6 +694,7 @@ vlVaPutImage(VADriverContextP ctx, VASurfaceID surface, VAImageID image, surf->buffer = tmp_buf; } + memset(view_resources, 0, sizeof(view_resources)); surf->buffer->get_resources(surf->buffer, view_resources); for (i = 0; i < MIN2(vaimage->num_planes, 3); i++) {