From 8140c14a5f82efd8375e8c0f551c68ce86fb2ded Mon Sep 17 00:00:00 2001 From: "yp.xiao" 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 --- 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