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

Author: Gert Wollny <[email protected]>
Date:   Wed Aug 24 15:00:51 2022 +0200

virgl: Fix buffer overflow warning:

./src/gallium/winsys/virgl/drm/virgl_drm_winsys.c: In function 
‘virgl_drm_winsys_resource_set_type’:
../src/gallium/winsys/virgl/drm/virgl_drm_winsys.c:607:10: warning: array 
subscript 14 is above array bounds of ‘uint32_t[14]’ {aka ‘unsigned int[14]’} 
[-Warray-bounds]
  607 |       cmd[VIRGL_PIPE_RES_SET_TYPE_PLANE_OFFSET(i)] = plane_offsets[i];
      |       ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/gallium/winsys/virgl/drm/virgl_drm_winsys.c:582:13: note: while 
referencing ‘cmd’
  582 |    uint32_t cmd[VIRGL_PIPE_RES_SET_TYPE_SIZE(VIRGL_MAX_PLANE_COUNT)];
      |             ^~~

Signed-off-by: Gert Wollny <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18231>

---

 src/gallium/winsys/virgl/drm/virgl_drm_winsys.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c 
b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
index 4d7fb144496..20dc3450f91 100644
--- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
+++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
@@ -579,7 +579,7 @@ virgl_drm_winsys_resource_set_type(struct virgl_winsys *qws,
                                    const uint32_t *plane_offsets)
 {
    struct virgl_drm_winsys *qdws = virgl_drm_winsys(qws);
-   uint32_t cmd[VIRGL_PIPE_RES_SET_TYPE_SIZE(VIRGL_MAX_PLANE_COUNT)];
+   uint32_t cmd[VIRGL_PIPE_RES_SET_TYPE_SIZE(VIRGL_MAX_PLANE_COUNT) + 1];
    struct drm_virtgpu_execbuffer eb;
    int ret;
 

Reply via email to