From 18c72a152a196920bfd8804b35ac8b278c373437 Mon Sep 17 00:00:00 2001 From: Randy Palamar Date: Mon, 23 Oct 2023 17:54:53 -0600 Subject: sam: reject invalid ranges for cmd_extract ("x"/"y") fixes #1152: `:2x/foo/` in a file with only one line makes vis get stuck in an infinite loop --- sam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sam.c') diff --git a/sam.c b/sam.c index 9902a66..686fa1e 100644 --- a/sam.c +++ b/sam.c @@ -1497,7 +1497,7 @@ static int extract(Vis *vis, Win *win, Command *cmd, const char *argv[], Selecti } static bool cmd_extract(Vis *vis, Win *win, Command *cmd, const char *argv[], Selection *sel, Filerange *range) { - if (!win) + if (!win || !text_range_valid(range)) return false; int matches = 0; if (count_negative(cmd->cmd)) -- cgit v1.2.3