Skip to content

bsp: renesas: fix LCD framebuffer bounds#11572

Open
Old-Ding wants to merge 1 commit into
RT-Thread:masterfrom
Old-Ding:codex/renesas-lcd-framebuffer-bounds
Open

bsp: renesas: fix LCD framebuffer bounds#11572
Old-Ding wants to merge 1 commit into
RT-Thread:masterfrom
Old-Ding:codex/renesas-lcd-framebuffer-bounds

Conversation

@Old-Ding

@Old-Ding Old-Ding commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

What this PR does

Fixes off-by-one framebuffer writes in the Renesas LCD helper.

LCD_WIDTH and LCD_HEIGHT are pixel counts, so valid framebuffer coordinates are 0..LCD_WIDTH - 1 and 0..LCD_HEIGHT - 1.

This updates:

  • the clear loop to stop before LCD_BUF_SIZE / sizeof(uint16_t)
  • lcd_draw_pixel() bounds to reject x == LCD_WIDTH and y == LCD_HEIGHT
  • the 180-degree rotation mapping to use the last valid row and column

Verification

  • git diff --check
  • git show --stat --check --format=fuller HEAD
  • git ls-files --eol -- bsp/renesas/libraries/HAL_Drivers/drivers/drv_lcd.c
  • rg -n "i <= LCD_BUF_SIZE / sizeof\(uint16_t\)|x <= LCD_WIDTH|y <= LCD_HEIGHT|LCD_HEIGHT - y|LCD_WIDTH - x" bsp/renesas/libraries/HAL_Drivers/drivers/drv_lcd.c returns no matches

I could not run an RT-Thread build locally because this Windows environment does not have scons, gcc, or arm-none-eabi-gcc installed.

Generated-by: OpenAI Codex

The Renesas LCD helper treats LCD_WIDTH and LCD_HEIGHT as pixel counts. The framebuffer clear loop and lcd_draw_pixel() accepted those count values as valid indexes, which can write one pixel past the framebuffer.

Use strict bounds for the 0-based framebuffer indexes and adjust the 180-degree rotation mapping to target the last valid row and column.

Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
@Old-Ding Old-Ding requested review from Rbb666 and kurisaW as code owners July 6, 2026 03:04
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread!

为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。
To ensure your code complies with RT-Thread's coding style, please run the code formatting workflow by following the steps below (If the formatting of CI fails to run).


🛠 操作步骤 | Steps

  1. 前往 Actions 页面 | Go to the Actions page
    点击进入工作流 → | Click to open workflow →

  2. 点击 Run workflow | Click Run workflow

  • 设置需排除的文件/目录(目录请以"/"结尾)
    Set files/directories to exclude (directories should end with "/")
  • 将目标分支设置为 \ Set the target branch to:codex/renesas-lcd-framebuffer-bounds
  • 设置PR number为 \ Set the PR number to:11572
  1. 等待工作流完成 | Wait for the workflow to complete
    格式化后的代码将自动推送至你的分支。
    The formatted code will be automatically pushed to your branch.

完成后,提交将自动更新至 codex/renesas-lcd-framebuffer-bounds 分支,关联的 Pull Request 也会同步更新。
Once completed, commits will be pushed to the codex/renesas-lcd-framebuffer-bounds branch automatically, and the related Pull Request will be updated.

如有问题欢迎联系我们,再次感谢您的贡献!💐
If you have any questions, feel free to reach out. Thanks again for your contribution!

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

📌 Code Review Assignment

🏷️ Tag: bsp_renesas

Reviewers: @kurisaW

Changed Files (Click to expand)
  • bsp/renesas/libraries/HAL_Drivers/drivers/drv_lcd.c

📊 Current Review Status (Last Updated: 2026-07-06 11:04 CST)


📝 Review Instructions

  1. 维护者可以通过单击此处来刷新审查状态: 🔄 刷新状态
    Maintainers can refresh the review status by clicking here: 🔄 Refresh Status

  2. 确认审核通过后评论 LGTM/lgtm
    Comment LGTM/lgtm after confirming approval

  3. PR合并前需至少一位维护者确认
    PR must be confirmed by at least one maintainer before merging

ℹ️ 刷新CI状态操作需要具备仓库写入权限。
ℹ️ Refresh CI status operation requires repository Write permission.

@github-actions github-actions Bot added BSP BSP: Renesas BSP related with Renesas labels Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

MemBrowse Memory Report

No memory changes detected for:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BSP: Renesas BSP related with Renesas BSP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant