Commit Diff


commit - 11edf34c28f6c60a1d37d5c83c758e90df02fe7a
commit + 374f69ddc0b897e90fa603748cac7859adac2769
blob - fa53f96cb444650badb64394f0e1af4d9ea769f7
blob + 65fe22564e7665a2c9a872b7e1e868b9ed62f0ae
--- tog/tog.c
+++ tog/tog.c
@@ -3209,8 +3209,11 @@ log_move_cursor_down(struct tog_view *view, int page)
 	 * We might necessarily overshoot in horizontal
 	 * splits; if so, select the last displayed commit.
 	 */
-	s->selected = MIN(s->selected,
-	    s->last_displayed_entry->idx - s->first_displayed_entry->idx);
+	if (s->first_displayed_entry && s->last_displayed_entry) {
+		s->selected = MIN(s->selected,
+		    s->last_displayed_entry->idx -
+		    s->first_displayed_entry->idx);
+	}
 
 	select_commit(s);
 
@@ -3267,6 +3270,9 @@ log_goto_line(struct tog_view *view, int nlines)
 	const struct got_error		*err = NULL;
 	struct tog_log_view_state	*s = &view->state.log;
 	int				 g, idx = s->selected_entry->idx;
+
+	if (s->first_displayed_entry == NULL || s->last_displayed_entry == NULL)
+		return NULL;
 
 	g = view->gline;
 	view->gline = 0;