diff --git a/.gitignore b/.gitignore index 2ff65af..fa98104 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ recode-3.6.tar.gz /recode-3.7.11.tar.gz /recode-3.7.12.tar.gz /recode-3.7.13.tar.gz +/recode-3.7.14.tar.gz diff --git a/0001-src-Makefile.am-allow-build-without-help2man.patch b/0001-src-Makefile.am-allow-build-without-help2man.patch deleted file mode 100644 index 151ac40..0000000 --- a/0001-src-Makefile.am-allow-build-without-help2man.patch +++ /dev/null @@ -1,58 +0,0 @@ -From dcdd5d26c0c2c49f8113b63186449d6a1e3a509e Mon Sep 17 00:00:00 2001 -From: Reuben Thomas -Date: Fri, 6 Jan 2023 20:11:03 +0100 -Subject: [PATCH 02/18] src/Makefile.am: allow build without help2man - ---- - src/Makefile.am | 8 +++----- - tests/Makefile.am | 2 +- - 2 files changed, 4 insertions(+), 6 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index fa6740e..0342057 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -19,7 +19,7 @@ AUTOMAKE_OPTIONS = gnits - bin_PROGRAMS = recode - lib_LTLIBRARIES = librecode.la - noinst_LTLIBRARIES = libmerged.la --man_MANS = recode.1 -+dist_man_MANS = recode.1 - include_HEADERS = recode.h recodext.h - - H_STEPS = common.h decsteps.h inisteps.h tersteps.h \ -@@ -100,12 +100,12 @@ merged.c: mergelex.py $(L_STEPS) - # Depend on recode$(EXEEXT) rather than explicitly make-ing it, as otherwise - # we break parallel builds, as libmerged.la can be built twice in parallel, - # which can fail. --recode.1: main.c $(top_srcdir)/configure.ac recode$(EXEEXT) -+recode.1: main.c $(top_srcdir)/configure.ac - ## Exit gracefully if recode.1 is not writeable, such as during distcheck! - $(AM_V_GEN)if ( touch $@.w && rm -f $@.w; ) >/dev/null 2>&1; then \ - $(top_srcdir)/build-aux/missing --run $(HELP2MAN) --locale=en_US.UTF-8 \ - --name="converts files between character sets" \ -- --output=$@ ./recode; \ -+ --output=$@ ./recode$(EXEEXT); \ - fi - - main.o: main.c ../config.status -@@ -169,5 +169,3 @@ strip-pool.c strip-data.c: stamp-strip - stamp-strip: ../tables.py $(MNEMONICS_DS) $(CHARSETS_DEF) - $(TABLES_PY) -C $(srcdir) -p $(MNEMONICS_DS) $(CHARSETS_DEF) - @echo timestamp > $(srcdir)/$@ -- --DISTCLEANFILES = recode.1 -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 3ab84cd..a26d43e 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1,5 +1,5 @@ - # Makefile for Recode regression tests. --# Copyright © 1996-2022 Free Software Foundation, Inc. -+# Copyright © 1996-2023 Free Software Foundation, Inc. - # François Pinard , 1988. - - # This program is free software; you can redistribute it and/or modify --- -2.38.1 - diff --git a/0001-src-task.c-only-close-input-stream-when-we-opened-it.patch b/0001-src-task.c-only-close-input-stream-when-we-opened-it.patch new file mode 100644 index 0000000..3ebd1c0 --- /dev/null +++ b/0001-src-task.c-only-close-input-stream-when-we-opened-it.patch @@ -0,0 +1,31 @@ +From 80516f601ce5f1cee44848615dffe4252f2d205f Mon Sep 17 00:00:00 2001 +From: Reuben Thomas +Date: Fri, 17 Feb 2023 12:52:19 +0000 +Subject: [PATCH] src/task.c: only close input stream when we opened it (fix + #48) + +Thanks to Remi Collet for the bug report and fix. +--- + src/task.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/task.c b/src/task.c +index 2977a03..e302858 100644 +--- a/src/task.c ++++ b/src/task.c +@@ -353,9 +353,10 @@ recode_perform_task (RECODE_TASK task) + SUBTASK_RETURN (subtask); + } + +- /* Close the input file. */ ++ /* Close the input file when we opened it. */ + +- if (subtask->input.file) ++ if (subtask->input.file && subtask->input.name && ++ subtask->input.name[0]) + fclose (subtask->input.file); + } + #endif +-- +2.39.1 + diff --git a/recode.spec b/recode.spec index 29fb166..fd525dc 100644 --- a/recode.spec +++ b/recode.spec @@ -1,5 +1,5 @@ Name: recode -Version: 3.7.13 +Version: 3.7.14 Release: 1%{?dist} Summary: Conversion between character sets and surfaces # COPYING: GPLv3 text @@ -54,7 +54,9 @@ License: GPLv3+ and LGPLv3+ and BSD and OFSFDL URL: https://github.com/rrthomas/recode Source: %{url}/releases/download/v%{version}/recode-%{version}.tar.gz Patch: recode-3.7.13-Rename-coliding-hash-functions.patch -Patch: 0001-src-Makefile.am-allow-build-without-help2man.patch +# https://github.com/rrthomas/recode/issues/48 +Patch: 0001-src-task.c-only-close-input-stream-when-we-opened-it.patch + BuildRequires: autoconf BuildRequires: automake @@ -69,8 +71,7 @@ BuildRequires: texinfo # Tests: BuildRequires: python3-Cython BuildRequires: python3-devel >= 3.7.5 -# https://fedoraproject.org/wiki/Changes/Python3.12#The_Python_standard_library_distutils_module_will_be_removed -BuildRequires: (python3-setuptools if python3-devel >= 3.12) +BuildRequires: python3-setuptools %description The recode tool and library convert files between character sets and surfaces. @@ -132,6 +133,12 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.la %{_includedir}/* %changelog +* Wed Feb 22 2023 Ondrej Pohorelsky - 3.7.14-1 +- 3.7.14 bump +- Adds upstream patch to prevent double free +- Require python3-setuptools unconditionaly +- Resolves: rhbz#2170818, rhbz#2166136 + * Tue Jan 17 2023 Ondrej Pohorelsky - 3.7.13-1 - 3.7.13 bump - Resolves: rhbz#2158811 diff --git a/sources b/sources index 901ba07..3834594 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (recode-3.7.13.tar.gz) = af86754ed2ed1dc414f1dd7ab3564d606abb309766fb02bf085e56241527a74ac7141617956d01b0797e8e426cfb39ec597bd221d8ad58d9246e96b228e65b00 +SHA512 (recode-3.7.14.tar.gz) = ca0e9aa392f0571cfd1cf9566a15d7651a80edf40d603eadaa4c4ee2d7843ffa9d6074be30a21dac2ab192fe601f8581721d719d055911eeccb455acfe112596