Subject: Re: bug#28505: 26.0.60; Crash in Fmove_point_visually

From: Eli Zaretskii <[email-masked]>
Date: Tue, 19 Sep 2017 07:11:07 +0300

> From: Benjamin Riefenstahl <[email-masked]>
> Date: Mon, 18 Sep 2017 23:02:12 +0200
> 
> So I recompiled with -O0 and after reading the code I added a few more
> "p"s in GDB.  I see that "w->current_matrix" has "rows_allocated = 1,
> nrows = 1", but still "row" was initialized from "rows" and than
> incremented by "dir" (1).  Is that as it should be?

Yes, but the incremented value is then checked for validity with this
snippet:

	  if (row < MATRIX_FIRST_TEXT_ROW (w->current_matrix)
	      || row > MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w))
	    goto simulate_display;

Is something wrong with this test in your case?

Thanks for digging into this.