The `sv->image_view` pointer is dereference before checking whether it's
NULL or not.
Check for NULL before dereferencing it to avoid a possible crash.
Fixes: 9de455bc4323 ("zink: check for sampler view existence during
zink_rebind_all_images()")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: José Expósito <jexposit@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26140>
(cherry picked from commit
83ed419cd0a55fc0ee9f5ccce8f7ac03711bbf71)
"description": "zink: fix dereference before NULL check",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "9de455bc4323d6bb484c1beed77454381e48b432",
"notes": null
for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
for (unsigned j = 0; j < ctx->di.num_sampler_views[i]; j++) {
struct zink_sampler_view *sv = zink_sampler_view(ctx->sampler_views[i][j]);
- if (!sv || sv->image_view->base.texture->target == PIPE_BUFFER || !sv->image_view)
+ if (!sv || !sv->image_view || sv->image_view->base.texture->target == PIPE_BUFFER)
continue;
struct zink_resource *res = zink_resource(sv->image_view->base.texture);
if (res->obj != sv->image_view->obj) {