diff --git a/diff3-set-flagging-to-true-in-X-option.patch b/diff3-set-flagging-to-true-in-X-option.patch new file mode 100644 index 0000000000000000000000000000000000000000..24dafd8ecff352d1f70f5425f348d5932d3179a4 --- /dev/null +++ b/diff3-set-flagging-to-true-in-X-option.patch @@ -0,0 +1,27 @@ +From 0c3b6966fec92957c9d0e0ed0d83bc0716641d66 Mon Sep 17 00:00:00 2001 +From: panxiaohe +Date: Tue, 22 Mar 2022 10:46:34 +0800 +Subject: [PATCH] diff3: set flagging to true in -X option + +The logic of diff3 -X option was changed because +commit 4c92a4 changed "FALLTHROUGH" to "break". + +--- + src/diff3.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/diff3.c b/src/diff3.c +index 6be7e3c..fc4adbc 100644 +--- a/src/diff3.c ++++ b/src/diff3.c +@@ -304,6 +304,7 @@ main (int argc, char **argv) + break; + case 'X': + overlap_only = true; ++ flagging = true; + incompat |= 1 << OPTION_X; + break; + case 'E': +-- +1.8.3.1 + diff --git a/diffutils.spec b/diffutils.spec index 4f10a5ac7cbfd01ad31f69ca1004369e066e8d67..e9620058f644c291b87724307b190d1e2de40cb5 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,11 +1,14 @@ Name: diffutils Version: 3.8 -Release: 1 +Release: 3 Summary: A GNU collection of diff utilities URL: http://www.gnu.org/software/diffutils/diffutils.html Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz Patch1: diffutils-cmp-s-empty.patch Patch2: diffutils-i18n.patch +Patch3: diff3-set-flagging-to-true-in-X-option.patch +Patch4: sdiff-fix-unlikely-memory-leak.patch + License: GPLv3+ Provides: bundled(gnulib) BuildRequires: gcc, help2man, gettext-devel @@ -53,31 +56,43 @@ cat tests/test-suite.log %exclude %{_infodir}/dir %changelog -* Tue Nov 30 2021 zoulin 3.8-1 +* Wed Oct 19 2022 zhangruifang - 3.8-3 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix unlikely memory leak + +* Tue Mar 22 2022 panxiaohe - 3.8-2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:set flagging to true in diff3 -X option + +* Tue Nov 30 2021 zoulin - 3.8-1 - Type:enhancement - ID:NA - SUG:NA - DESC:update version to 3.8 -* Wed Aug 11 2021 wangjie 3.7-5 +* Wed Aug 11 2021 wangjie - 3.7-5 - Type:bugfix - ID:NA - SUG:NA - DESC:fix missing binary operator before token "(" -* Wed Mar 24 2021 zoulin 3.7-4 +* Wed Mar 24 2021 zoulin - 3.7-4 - Type:enhancement - ID:NA - SUG:NA - DESC:add -fsign-char for aarch64 for test-localeconv -* Mon Nov 11 2019 shenyangyang 3.7-3 +* Mon Nov 11 2019 shenyangyang - 3.7-3 - Type:enhancement - ID:NA - SUG:NA - DESC:delete unneeded comments -* Thu Oct 24 2019 shenyangyang 3.7-2 +* Thu Oct 24 2019 shenyangyang - 3.7-2 - Type:enhancement - ID:NA - SUG:NA diff --git a/sdiff-fix-unlikely-memory-leak.patch b/sdiff-fix-unlikely-memory-leak.patch new file mode 100644 index 0000000000000000000000000000000000000000..c843cd06302df908132ad6cdcddb8d42326c9ebd --- /dev/null +++ b/sdiff-fix-unlikely-memory-leak.patch @@ -0,0 +1,41 @@ +From f2e2b4d3c3288e6cae3918fc432bdab8c0c485b7 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sun, 22 Aug 2021 13:54:04 -0700 +Subject: [PATCH] sdiff: fix unlikely memory leak +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* src/sdiff.c (temporary_file): Fix memory leak when mkstemp fails. +Don’t assume temporary file name length fits in ‘int’. +--- + src/sdiff.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/src/sdiff.c b/src/sdiff.c +index 11e4da9..ab12987 100644 +--- a/src/sdiff.c ++++ b/src/sdiff.c +@@ -1163,11 +1163,14 @@ temporary_file (void) + { + char const *tmpdir = getenv (TMPDIR_ENV); + char const *dir = tmpdir ? tmpdir : P_tmpdir; +- char *buf = xmalloc (strlen (dir) + 1 + 5 + 6 + 1); +- int fd; +- sprintf (buf, "%s/sdiffXXXXXX", dir); +- fd = mkstemp (buf); +- if (0 <= fd) ++ size_t dirlen = strlen (dir); ++ char *buf = xmalloc (dirlen + 1 + 5 + 6 + 1); ++ memcpy (buf, dir, dirlen); ++ strcpy (buf + dirlen, "/sdiffXXXXXX"); ++ int fd = mkstemp (buf); ++ if (fd < 0) ++ free (buf); ++ else + tmpname = buf; + return fd; + } +-- +2.27.0 +