mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 13:49:16 +00:00
LibRegex: Avoid use-after-return of MatchState in 'is_an_eligible_jump'
The opcode may have last been accessed by block_satisfies_atomic_rewrite_precondition, which would set it to a state that no longer exists. Set the state to the correct one unconditionally to ensure we're looking at the right value. Fixes #5145.
This commit is contained in:
parent
2947ae7d6e
commit
b0e471228d
Notes:
github-actions[bot]
2025-06-24 16:44:28 +00:00
Author: https://github.com/alimpfard
Commit: b0e471228d
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5200
Reviewed-by: https://github.com/gmta ✅
2 changed files with 5 additions and 4 deletions
|
@ -652,7 +652,7 @@ public:
|
|||
ALWAYS_INLINE StringView name() const;
|
||||
static StringView name(OpCodeId);
|
||||
|
||||
ALWAYS_INLINE void set_state(MatchState& state) { m_state = &state; }
|
||||
ALWAYS_INLINE void set_state(MatchState const& state) { m_state = &state; }
|
||||
|
||||
ALWAYS_INLINE void set_bytecode(ByteCode& bytecode) { m_bytecode = &bytecode; }
|
||||
|
||||
|
@ -673,7 +673,7 @@ public:
|
|||
|
||||
protected:
|
||||
ByteCode* m_bytecode { nullptr };
|
||||
MatchState* m_state { nullptr };
|
||||
MatchState const* m_state { nullptr };
|
||||
};
|
||||
|
||||
class OpCode_Exit final : public OpCode {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue