35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
From 8140c14a5f82efd8375e8c0f551c68ce86fb2ded Mon Sep 17 00:00:00 2001
|
|
From: "yp.xiao" <yp.xiao@rock-chips.com>
|
|
Date: Wed, 27 Dec 2023 21:46:15 +0800
|
|
Subject: [PATCH 13/16] drm: Fix memory read out of bounds
|
|
|
|
Vop buff width height is 16 alignment, lvgi ui does not need alignment
|
|
|
|
Change-Id: I159599cbffdd1ba9aa2799bd6b695b92471be4b0
|
|
Signed-off-by: yp.xiao <yp.xiao@rock-chips.com>
|
|
---
|
|
display/drm.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/display/drm.c b/display/drm.c
|
|
index e8ca9667..e78458e1 100644
|
|
--- a/display/drm.c
|
|
+++ b/display/drm.c
|
|
@@ -953,7 +953,12 @@ static void *drm_thread(void *arg)
|
|
if (ret)
|
|
printf("c_RkRgaBlit error : %s\n", strerror(errno));
|
|
#else
|
|
- memcpy(bo->ptr, drm_buff, bo->size);
|
|
+ for (int i = 0; i < lcd_h; i++)
|
|
+ {
|
|
+ memcpy(bo->ptr + i * bo->pitch,
|
|
+ drm_buff + i * lcd_sw * (LV_COLOR_DEPTH >> 3),
|
|
+ lcd_w * (LV_COLOR_DEPTH >> 3));
|
|
+ }
|
|
#endif
|
|
setdrmdisp(bo);
|
|
draw_update = 0;
|
|
--
|
|
2.25.1
|
|
|