diff --git a/ChangeLog b/ChangeLog index 8334e9d5..8e504320 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-02-22 Benno Schulenberg + * src/files.c (write_file) - Add a missing malloc. + Reported by an anonymous cross compiler, bug #30671. + 2014-02-22 Benno Schulenberg * src/winio.c (get_mouseinput) - Correct an oversight, use the proper 'do_up_void' and 'do_down_void' names. diff --git a/src/files.c b/src/files.c index da5e18b9..e4571869 100644 --- a/src/files.c +++ b/src/files.c @@ -1746,8 +1746,10 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type * specified it interactively), stat and save the value * or else we will chase null pointers when we do * modtime checks, preserve file times, etc. during backup */ - if (openfile->current_stat == NULL && !tmp && realexists) + if (openfile->current_stat == NULL && !tmp && realexists) { + openfile->current_stat = (struct stat *)nmalloc(sizeof(struct stat)); stat(realname, openfile->current_stat); + } /* We backup only if the backup toggle is set, the file isn't * temporary, and the file already exists. Furthermore, if we