summaryrefslogtreecommitdiff
path: root/app-editors/nano/files/nano-4.0-variable_initialization.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-04-05 21:17:31 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-04-05 21:17:31 +0100
commitdc7cbdfa65fd814b3b9aa3c56257da201109e807 (patch)
treec85d72f6f31f21f178069c9d41d41a7c1ff4b362 /app-editors/nano/files/nano-4.0-variable_initialization.patch
parent0706fc6986773f4e4d391deff4ad5143c464ea4e (diff)
gentoo resync : 05.04.2019
Diffstat (limited to 'app-editors/nano/files/nano-4.0-variable_initialization.patch')
-rw-r--r--app-editors/nano/files/nano-4.0-variable_initialization.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/app-editors/nano/files/nano-4.0-variable_initialization.patch b/app-editors/nano/files/nano-4.0-variable_initialization.patch
new file mode 100644
index 000000000000..c72122ed7035
--- /dev/null
+++ b/app-editors/nano/files/nano-4.0-variable_initialization.patch
@@ -0,0 +1,39 @@
+From 7ad232d71470cd8c4dc63aeb02f11c9e8df9ecdb Mon Sep 17 00:00:00 2001
+From: Devin Hussey <husseydevin@gmail.com>
+Date: Thu, 28 Mar 2019 17:28:47 -0400
+Subject: [PATCH] files: initialize a variable before referencing it
+
+The lack of initialization caused a nasty bug on some targets (such as
+ARMv7) which would make it so that ^S would just say "Cancelled".
+
+While x86 (both 64 and 32 bits) seems to initialize 'response' to zero or
+a positive number, ARM does not, and there is usually a negative value in
+its place, which triggers the 'if (response < 0)' check and, as a result,
+the code says "Cancelled".
+
+This fixes https://savannah.gnu.org/bugs/?56023.
+Reported-by: Devin Hussey <husseydevin@gmail.com>
+
+Bug existed since version 4.0, commit 0f9d60a3.
+
+Signed-off-by: Devin Hussey <husseydevin@gmail.com>
+---
+ src/files.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/files.c b/src/files.c
+index 84e3f684..fd54c168 100644
+--- a/src/files.c
++++ b/src/files.c
+@@ -2101,7 +2101,7 @@ int do_writeout(bool exiting, bool withprompt)
+
+ while (TRUE) {
+ const char *msg;
+- int response, choice;
++ int response = 0, choice = 0;
+ functionptrtype func;
+ #ifndef NANO_TINY
+ const char *formatstr, *backupstr;
+--
+2.20.1
+