From 992be378017fb6228553036591c5fa170b595dae Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Thu, 17 Oct 2024 12:13:32 -0700 Subject: [PATCH] fix unclamped-by-line token ranges in code slice widget mouse -> token path --- src/raddbg/raddbg_widgets.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/raddbg/raddbg_widgets.c b/src/raddbg/raddbg_widgets.c index 871b4066..019212f4 100644 --- a/src/raddbg/raddbg_widgets.c +++ b/src/raddbg/raddbg_widgets.c @@ -1770,7 +1770,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe TXT_Token *line_token = &line_tokens->v[line_token_idx]; if(contains_1u64(line_token->range, mouse_pt_off)) { - mouse_token_rng = txt_rng(txt_pt(mouse_pt.line, 1+line_token->range.min-line_range.min), txt_pt(mouse_pt.line, 1+line_token->range.max-line_range.min)); + Rng1U64 line_token_range_clamped = intersect_1u64(line_token->range, line_range); + mouse_token_rng = txt_rng(txt_pt(mouse_pt.line, 1+line_token_range_clamped.min-line_range.min), txt_pt(mouse_pt.line, 1+line_token_range_clamped.max-line_range.min)); break; } }