make sure that variables on stack are initialized
upstream bug: https://savannah.gnu.org/bugs/?56023
This commit is contained in:
parent
acc34239c9
commit
07cd450144
42
0001-nano-4.0-init-vars.patch
Normal file
42
0001-nano-4.0-init-vars.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From d1d0b8a5a3ceff069f144a5f8ac01a175d96b511 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>
|
||||||
|
|
||||||
|
Upstream-commit: 7ad232d71470cd8c4dc63aeb02f11c9e8df9ecdb
|
||||||
|
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
---
|
||||||
|
src/files.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/files.c b/src/files.c
|
||||||
|
index 84e3f68..fd54c16 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.17.2
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Summary: A small text editor
|
Summary: A small text editor
|
||||||
Name: nano
|
Name: nano
|
||||||
Version: 4.0
|
Version: 4.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: https://www.nano-editor.org
|
URL: https://www.nano-editor.org
|
||||||
Source: https://www.nano-editor.org/dist/latest/%{name}-%{version}.tar.xz
|
Source: https://www.nano-editor.org/dist/latest/%{name}-%{version}.tar.xz
|
||||||
@ -17,6 +17,10 @@ BuildRequires: sed
|
|||||||
BuildRequires: texinfo
|
BuildRequires: texinfo
|
||||||
Conflicts: filesystem < 3
|
Conflicts: filesystem < 3
|
||||||
|
|
||||||
|
# make sure that variables on stack are initialized
|
||||||
|
# upstream bug: https://savannah.gnu.org/bugs/?56023
|
||||||
|
Patch1: 0001-nano-4.0-init-vars.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GNU nano is a small and friendly text editor.
|
GNU nano is a small and friendly text editor.
|
||||||
|
|
||||||
@ -64,6 +68,9 @@ install -m 0644 ./nanorc %{buildroot}%{_sysconfdir}/nanorc
|
|||||||
%{_datadir}/nano
|
%{_datadir}/nano
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 02 2019 Kamil Dudka <kdudka@redhat.com> - 4.0-2
|
||||||
|
- make sure that variables on stack are initialized
|
||||||
|
|
||||||
* Mon Mar 25 2019 Kamil Dudka <kdudka@redhat.com> - 4.0-1
|
* Mon Mar 25 2019 Kamil Dudka <kdudka@redhat.com> - 4.0-1
|
||||||
- new upstream release
|
- new upstream release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user