From f7c29ee39497a23b95e4ef97fc3ed87360014d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 23 Apr 2022 12:24:28 +0200 Subject: [PATCH] search: maches_next: assert match coordinates are valid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * They are within range (i.e. ‘row’ does not exceed term->rows-1) * ‘end’ comes after ‘start’ --- search.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/search.c b/search.c index 77492e3f..330ea791 100644 --- a/search.c +++ b/search.c @@ -561,6 +561,15 @@ search_matches_next(struct search_match_iterator *iter) match.end.row = match.end.row - grid->view + grid->num_rows; match.end.row &= grid->num_rows - 1; + xassert(match.start.row >= 0); + xassert(match.start.row < term->rows); + xassert(match.end.row >= 0); + xassert(match.end.row < term->rows); + + xassert(match.end.row > match.start.row || + (match.end.row == match.start.row && + match.end.col >= match.start.col)); + if (return_primary_match) { iter->start.row = 0; iter->start.col = 0;