in backup_lines(), avoid a segfault when the mark begins and ends on the

line after the last line of the paragraph


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4099 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
David Lawrence Ramsey 2007-04-22 15:04:05 +00:00
parent d4cf1fd0ca
commit ee43ea6a74
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2007-04-22 David Lawrence Ramsey <pooka109@gmail.com>
* text.c (backup_lines): Avoid a segfault when the mark begins
and ends on the line after the last line of the paragraph.
2007-04-21 David Lawrence Ramsey <pooka109@gmail.com>
* files.c (do_writeout): If we're in restricted mode, we're not

View File

@ -1212,9 +1212,16 @@ void backup_lines(filestruct *first_line, size_t par_len)
* line, putting first_line, edittop, current, and mark_begin at the
* same lines in the copied paragraph that they had in the original
* paragraph. */
if (openfile->current != openfile->fileage)
if (openfile->current != openfile->fileage) {
top = openfile->current->prev;
else
#ifndef NANO_TINY
if (old_mark_set &&
openfile->current->lineno == mb_lineno_save) {
openfile->mark_begin = openfile->current;
openfile->mark_begin_x = mark_begin_x_save;
}
#endif
} else
top = openfile->current;
for (i = par_len; i > 0 && top != NULL; i--) {
if (top->lineno == fl_lineno_save)