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

Author: Corentin Noël <corentin.n...@collabora.com>
Date:   Mon Jan  8 12:12:13 2024 +0100

zink: Use memmove when dealing with overlapping memory

Fix defect reported by Coverity Scan.

Overlapping buffer in memory copy

Results in an undefined behavior

CID: 1515598

Signed-off-by: Corentin Noël <corentin.n...@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26922>

---

 src/gallium/drivers/zink/zink_clear.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/zink_clear.c 
b/src/gallium/drivers/zink/zink_clear.c
index f38d5f4d15e..f3de55f428f 100644
--- a/src/gallium/drivers/zink/zink_clear.c
+++ b/src/gallium/drivers/zink/zink_clear.c
@@ -234,7 +234,7 @@ zink_clear(struct pipe_context *pctx,
                    */
                   add_new_clear(fb_clear);
                   struct zink_framebuffer_clear_data *clear = 
fb_clear->clears.data;
-                  memcpy(clear + 1, clear, num_clears);
+                  memmove(clear + 1, clear, num_clears);
                   memcpy(&clear->color, &color, sizeof(color));
                } else {
                   /* no void clear needed */

Reply via email to