Package: release.debian.org Severity: normal Tags: bullseye User: release.debian....@packages.debian.org Usertags: pu
Hi release team! I'm requesting the acceptance of a new nano update for stable, with 3 additional upstream patches that fix two crash conditions and a data-loss condition. All the patches are trivial, self-explanatory but also well documented in their headers. [ Reason ] These fixes are backports of fixes for the most important bugfixes in the latest nano releases. [ Impact ] Not applying these means nano can crash on certain conditions. The errors were found via Fedora's crash data service. [ Tests ] Manual tests have been done to test these fixes. Besides, the fixes have been in test in newer versions of nano across multiple distributors. [ Risks ] I think the risks are minimal, but in any case, the fixes can be easily reverted if they need to. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [x] the issue is verified as fixed in unstable (except for one of the patches, which will be fixed in soon to be released 7.1) [ Changes ] The debiff consists of the addition of 3 individual patches, plus the update of teh series file and debian changelog. [ Other info ] This update is very similar to the one that was previously accepted by the release team, but this time with far less patches and lines of code involved.
diff -Nru nano-5.4/debian/changelog nano-5.4/debian/changelog --- nano-5.4/debian/changelog 2021-11-22 01:07:23.000000000 +0100 +++ nano-5.4/debian/changelog 2022-12-02 14:06:48.000000000 +0100 @@ -1,3 +1,11 @@ +nano (5.4-2+deb11u2) bullseye; urgency=medium + + * The "No a l'ampliació del port" release. + * Add three additional patches from Benno Schulenberg, with two + crash fixes and one data-loss fix. + + -- Jordi Mallach <jo...@debian.org> Fri, 02 Dec 2022 14:06:48 +0100 + nano (5.4-2+deb11u1) bullseye; urgency=medium * The "Bueno, de verdad, hasta luego, paso" release. diff -Nru nano-5.4/debian/patches/0036-input-ensure-that-no-more-bytes-are-consumed-than-ar.patch nano-5.4/debian/patches/0036-input-ensure-that-no-more-bytes-are-consumed-than-ar.patch --- nano-5.4/debian/patches/0036-input-ensure-that-no-more-bytes-are-consumed-than-ar.patch 1970-01-01 01:00:00.000000000 +0100 +++ nano-5.4/debian/patches/0036-input-ensure-that-no-more-bytes-are-consumed-than-ar.patch 2022-12-02 13:42:39.000000000 +0100 @@ -0,0 +1,33 @@ +From af63d94017a26cbf3446219de5ced30e677e0f13 Mon Sep 17 00:00:00 2001 +From: Benno Schulenberg <bensb...@telfort.nl> +Date: Sun, 12 Dec 2021 15:43:15 +0100 +Subject: [PATCH 36/38] input: ensure that no more bytes are consumed than are + available + +The value of 'consumed' may not exceed the given 'length'. + +Bug existed since version 2.9.3, commit e739448c. + +(Bug was found by studying Fedora crash reports. Thank you, Fedora!) +--- + src/winio.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/winio.c b/src/winio.c +index 1116c172..e12d6e6b 100644 +--- a/src/winio.c ++++ b/src/winio.c +@@ -466,8 +466,9 @@ int convert_SS3_sequence(const int *seq, size_t length, int *consumed) + /* Translate a sequence that began with "Esc [" to its corresponding key code. */ + int convert_CSI_sequence(const int *seq, size_t length, int *consumed) + { +- if (seq[0] < '9') ++ if (seq[0] < '9' && length > 1) + *consumed = 2; ++ + switch (seq[0]) { + case '1': + if (length > 1 && seq[1] == '~') +-- +2.37.4 + diff -Nru nano-5.4/debian/patches/0037-execute-don-t-crash-when-an-empty-buffer-is-piped-th.patch nano-5.4/debian/patches/0037-execute-don-t-crash-when-an-empty-buffer-is-piped-th.patch --- nano-5.4/debian/patches/0037-execute-don-t-crash-when-an-empty-buffer-is-piped-th.patch 1970-01-01 01:00:00.000000000 +0100 +++ nano-5.4/debian/patches/0037-execute-don-t-crash-when-an-empty-buffer-is-piped-th.patch 2022-12-02 13:42:39.000000000 +0100 @@ -0,0 +1,33 @@ +From 35b67b15652102203161beb31db786f09981de81 Mon Sep 17 00:00:00 2001 +From: Benno Schulenberg <bensb...@telfort.nl> +Date: Thu, 24 Feb 2022 11:57:56 +0100 +Subject: [PATCH 37/38] execute: don't crash when an empty buffer is piped + through a command + +That is, take into account that the cutbuffer could be NULL +(when updating the undo item). + +This fixes https://savannah.gnu.org/bugs/?62107. + +Bug existed since version 4.9, commit b15c5a7e. +--- + src/text.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/text.c b/src/text.c +index 5ff5745d..c88ca516 100644 +--- a/src/text.c ++++ b/src/text.c +@@ -1200,7 +1200,8 @@ void update_undo(undo_type action) + else if (cutbuffer != NULL) { + free_lines(u->cutbuffer); + u->cutbuffer = copy_buffer(cutbuffer); +- } ++ } else ++ break; + if (!(u->xflags & MARK_WAS_SET)) { + linestruct *bottomline = u->cutbuffer; + size_t count = 0; +-- +2.37.4 + diff -Nru nano-5.4/debian/patches/0038-text-upon-Enter-eat-only-lefthand-blanks-not-any-oth.patch nano-5.4/debian/patches/0038-text-upon-Enter-eat-only-lefthand-blanks-not-any-oth.patch --- nano-5.4/debian/patches/0038-text-upon-Enter-eat-only-lefthand-blanks-not-any-oth.patch 1970-01-01 01:00:00.000000000 +0100 +++ nano-5.4/debian/patches/0038-text-upon-Enter-eat-only-lefthand-blanks-not-any-oth.patch 2022-12-02 13:42:39.000000000 +0100 @@ -0,0 +1,36 @@ +From 7338d67935876a05cc3743102821c12574c17435 Mon Sep 17 00:00:00 2001 +From: Benno Schulenberg <bensb...@telfort.nl> +Date: Thu, 24 Nov 2022 15:51:43 +0100 +Subject: [PATCH 38/38] text: upon Enter, eat only lefthand blanks, not any + other characters + +Make sure that there is only whitespace to the left of the cursor +before setting 'allblanks' to TRUE, because this latter value will +cause these characters to be eaten (as a special case, to avoid +creating lines that contain only blanks when both --autoindent +and --breaklonglines are on). + +This fixes https://savannah.gnu.org/bugs/?63407. +Reported-by: Tasos Papastylianou <tpapastylia...@hotmail.com> + +Bug existed since version 2.9.8, commit d00ab406. +--- + src/text.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/text.c b/src/text.c +index c88ca516..9c6043e9 100644 +--- a/src/text.c ++++ b/src/text.c +@@ -878,7 +878,7 @@ void do_enter(void) + if (extra > openfile->current_x) + extra = openfile->current_x; + else if (extra == openfile->current_x) +- allblanks = TRUE; ++ allblanks = (indent_length(openfile->current->data) == extra); + } + #endif /* NANO_TINY */ + newnode->data = nmalloc(strlen(openfile->current->data + +-- +2.37.4 + diff -Nru nano-5.4/debian/patches/series nano-5.4/debian/patches/series --- nano-5.4/debian/patches/series 2021-11-22 00:52:49.000000000 +0100 +++ nano-5.4/debian/patches/series 2022-12-02 13:43:25.000000000 +0100 @@ -33,3 +33,6 @@ 0033-help-do-not-show-S-when-preserve-is-in-effect.patch 0034-syntax-email-use-a-character-class-as-s-does-not-wor.patch 0035-justify-correctly-determine-whether-top-of-buffer-ha.patch +0036-input-ensure-that-no-more-bytes-are-consumed-than-ar.patch +0037-execute-don-t-crash-when-an-empty-buffer-is-piped-th.patch +0038-text-upon-Enter-eat-only-lefthand-blanks-not-any-oth.patch