mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-22 17:29:01 +00:00
LibWeb: Capture y by value in position update callback [BFC]
Callback registered by `register_block_container_y_position_update_callback()` is executed after `layout_block_level_box()` returned, so capturing stack variable `y` by reference is UB.
This commit is contained in:
parent
08162fb9af
commit
01bfb5bc81
Notes:
github-actions[bot]
2025-09-08 12:10:24 +00:00
Author: https://github.com/kalenikaliaksandr
Commit: 01bfb5bc81
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6114
1 changed files with 1 additions and 1 deletions
|
@ -836,7 +836,7 @@ void BlockFormattingContext::layout_block_level_box(Box const& box, BlockContain
|
|||
m_margin_state.reset();
|
||||
} else if (!m_margin_state.has_block_container_waiting_for_final_y_position()) {
|
||||
// margin-top of block container can be updated during children layout hence it's final y position yet to be determined
|
||||
m_margin_state.register_block_container_y_position_update_callback([&, introduce_clearance](CSSPixels margin_top) {
|
||||
m_margin_state.register_block_container_y_position_update_callback([this, &box, y, introduce_clearance](CSSPixels margin_top) {
|
||||
if (introduce_clearance == DidIntroduceClearance::No) {
|
||||
place_block_level_element_in_normal_flow_vertically(box, margin_top + y);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue