From 6fdb56cd4e0e15e202d402a576895289b5c14d43 Mon Sep 17 00:00:00 2001 From: Tim Stack Date: Mon, 28 Aug 2023 09:54:10 -0700 Subject: [PATCH] [lss] handle invalid row number --- .github/workflows/bins.yml | 1 + src/logfile_sub_source.hh | 2 +- src/textview_curses.cc | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bins.yml b/.github/workflows/bins.yml index 8c386569..470b93b0 100644 --- a/.github/workflows/bins.yml +++ b/.github/workflows/bins.yml @@ -67,6 +67,7 @@ jobs: build-arm: runs-on: ubuntu-latest + if: ${{ inputs.lnav_version_number != '' }} strategy: matrix: include: diff --git a/src/logfile_sub_source.hh b/src/logfile_sub_source.hh index 90cba0c7..5b2341c8 100644 --- a/src/logfile_sub_source.hh +++ b/src/logfile_sub_source.hh @@ -479,7 +479,7 @@ public: nonstd::optional time_for_row(vis_line_t row) { - if (row < (ssize_t) this->text_line_count()) { + if (row >= 0_vl && row < (ssize_t) this->text_line_count()) { return this->find_line(this->at(row))->get_timeval(); } return nonstd::nullopt; diff --git a/src/textview_curses.cc b/src/textview_curses.cc index 2107f03e..8bf9b95a 100644 --- a/src/textview_curses.cc +++ b/src/textview_curses.cc @@ -832,7 +832,9 @@ text_time_translator::data_reloaded(textview_curses* tc) if (tc->get_inner_height() == 0) { return; } - if (tc->get_selection() > tc->get_inner_height()) { + if (tc->get_selection() < 0_vl + || tc->get_selection() > tc->get_inner_height()) + { if (this->ttt_top_time.tv_sec != 0) { this->row_for_time(this->ttt_top_time) | [tc](auto new_top) { tc->set_selection(new_top); };