fix sprintf writing beyond ubl_lcd_gcode buffer #26984
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In
menu_ubl.cpp
's_lcd_ubl_adjust_height_cmd
, thesprintf
call used for constructing the gcode command may write beyond the end of theubl_lcd_gcode
.This is only the case when
abs(ubl_height_amount) >= 1000
, so it may not actually affect real-world scenarios.Still, it's probably best to not ignore this, as it could cause memory corruption.
GCC Warning Message
Requirements
Found the issue & tested the fix on HC32 with
DWIN_MARLINUI_PORTRAIT
andAUTO_BED_LEVELING_UBL
.Since this issue is in the menu implementation, it should affect every marlinui screen when
AUTO_BED_LEVELING_UBL
is enabled.Benefits
Removes the compiler warning, potentially fixes hard-to-debug memory corruption issues.
Configurations
N/A
Related Issues
N/A