2010-04-02 Chris Allegretta <chrisa@asty.org>

* files.c (do_writeout): Expand modification check to include both the
          original file's device ID and inode number as reasons to warn the
          user that the file has been modified.  Based on security article on nano
          by Dan Rosenberg.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4490 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
Chris Allegretta 2010-04-03 02:39:18 +00:00
parent 35b5976e69
commit cdb5b16198
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2010-04-02 Chris Allegretta <chrisa@asty.org>
* files.c (do_writeout): Expand modification check to include both the
original file's device ID and inode number as reasons to warn the
user that the file has been modified. Based on security article on nano
by Dan Rosenberg.
2010-03-21 Chris Allegretta <chrisa@asty.org>
* nano.c (page_stdin et al): Don't attempt to reset/reopen the terminal
settings when reading stdin if it was aborted with SIGINT. May fix Savannah

View File

@ -2126,7 +2126,8 @@ bool do_writeout(bool exiting)
}
#ifndef NANO_TINY
if (name_exists && openfile->current_stat && openfile->current_stat->st_mtime < st.st_mtime) {
if (name_exists && openfile->current_stat && openfile->current_stat->st_mtime < st.st_mtime ||
openfile->current_stat->st_dev != st.st_dev || openfile->current_stat->st_ino != st.st_ino) {
i = do_yesno_prompt(FALSE,
_("File was modified since you opened it, continue saving ? "));
if (i == 0 || i == -1)