From a9ed719f9098920cc2c1625374f1e4c0658a5576 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Mon, 18 Apr 2022 14:47:07 +0200 Subject: [PATCH] search: find_next(): assert start/end coords are valid --- search.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/search.c b/search.c index 0b7817bc..c60c1a3d 100644 --- a/search.c +++ b/search.c @@ -306,6 +306,16 @@ find_next(struct terminal *term, enum search_direction direction, LOG_DBG("%s: start: %dx%d, end: %dx%d", backward ? "backward" : "forward", abs_start.row, abs_start.col, abs_end.row, abs_end.col); + xassert(abs_start.row >= 0); + xassert(abs_start.row < grid->num_rows); + xassert(abs_start.col >= 0); + xassert(abs_start.col < term->cols); + + xassert(abs_end.row >= 0); + xassert(abs_end.row < grid->num_rows); + xassert(abs_end.col >= 0); + xassert(abs_end.col < term->cols); + for (int match_start_row = abs_start.row, match_start_col = abs_start.col; ; backward ? ROW_DEC(match_start_row) : ROW_INC(match_start_row)) {