Mesa (master): zink: do not read outside of array
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 22 17:58:55 UTC 2021
Module: Mesa
Branch: master
Commit: a6a198da2196743edda3f01054543909f5da4f8d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6a198da2196743edda3f01054543909f5da4f8d
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date: Wed Apr 21 10:14:13 2021 +0200
zink: do not read outside of array
We need to bounds-check *before* we index the array, otherwise we peek
beyond the end of it.
Caught by Valgrind.
Fixes: dd29a7e5b0e ("zink: move descriptor barrier handling to main update function")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10367>
---
src/gallium/drivers/zink/zink_descriptors.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c
index 2ed08a765a8..758ff90e53f 100644
--- a/src/gallium/drivers/zink/zink_descriptors.c
+++ b/src/gallium/drivers/zink/zink_descriptors.c
@@ -1224,7 +1224,7 @@ zink_descriptors_update(struct zink_context *ctx, struct zink_screen *screen, bo
is_compute, cache_hit[ZINK_DESCRIPTOR_TYPE_IMAGE],
need_resource_refs[ZINK_DESCRIPTOR_TYPE_IMAGE]);
- for (int h = 0; zds[h] && h < ZINK_DESCRIPTOR_TYPES; h++) {
+ for (int h = 0; h < ZINK_DESCRIPTOR_TYPES && zds[h]; h++) {
/* skip null descriptor sets since they have no resources */
if (!zds[h]->hash)
continue;
More information about the mesa-commit
mailing list