From 4abf9449b41099f6c00d0d49584a9fc504c9ef70 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Sat, 22 Feb 2014 20:44:43 +0000
Subject: [PATCH] Adding a missing malloc, to avoid a segfault on some systems.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4595 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   | 4 ++++
 src/files.c | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 8334e9d5..8e504320 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-02-22  Benno Schulenberg  <bensberg@justemail.net>
+	* src/files.c (write_file) - Add a missing malloc.
+	Reported by an anonymous cross compiler, bug #30671.
+
 2014-02-22  Benno Schulenberg  <bensberg@justemail.net>
 	* 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
-- 
GitLab