LibWeb: Fix crashing in LengthOrAutoOrCalculated::without_auto()
Some checks are pending
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run

...when `LengthOrAutoOrCalculated` holds calculated value. We were
incorrectly assuming that if contained value is not auto, then it must
be a length.

Fixes crashing on https://hollowknightsilksong.com/
This commit is contained in:
Aliaksandr Kalenik 2025-09-08 17:50:49 +02:00 committed by Tim Ledbetter
commit 18cf540bfb
Notes: github-actions[bot] 2025-09-08 18:36:52 +00:00
3 changed files with 16 additions and 0 deletions

View file

@ -89,6 +89,8 @@ bool LengthOrAutoOrCalculated::is_auto() const
LengthOrCalculated LengthOrAutoOrCalculated::without_auto() const
{
VERIFY(!is_auto());
if (is_calculated())
return calculated();
return value().length();
}