diff --git a/0001-Adjust-strncpy-call-to-not-use-string-length.patch b/0001-Adjust-strncpy-call-to-not-use-string-length.patch new file mode 100644 index 0000000..61dbd02 --- /dev/null +++ b/0001-Adjust-strncpy-call-to-not-use-string-length.patch @@ -0,0 +1,58 @@ +From 7e864c626c3fc27bf1f0e2680996888463aae684 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 11 Feb 2019 14:42:16 +0100 +Subject: [PATCH] Adjust strncpy call to not use string length +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Gcc doesn't like this: +dbxread.c:66:5: error: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation] + strncpy(s + n, c, l); + ^~~~~~~~~~~~~~~~~~~~ +dbxread.c:64:9: note: length computed here + l = strlen(c); + ^~~~~~~~~ +cc1: all warnings being treated as errors + +Actually the code was OK, but it's nicer to use memcpy() to make it clear +that we don't want the NUL terminator to be copied. + +A different bug is corrected: the array c was not initialized, so if a +string shorter than 255 bytes was read, and a NUL byte was was not +present in the bytes read, strlen() would read garbage data from the +heap, in the area between the data read and the 255th byte which was +initalized to NUL. +--- + dbxread.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/dbxread.c b/dbxread.c +index 033d43a60f..3a30e4f821 100644 +--- a/dbxread.c ++++ b/dbxread.c +@@ -51,19 +51,18 @@ static int _dbx_info_cmp(const dbx_info_t *ia, const dbx_info_t *ib) + + static char *_dbx_read_string(FILE *file, int offset) + { +- char c[256]; ++ char c[256] = {}; + char *s = NULL; + int n = 0; + int l = 0; + + fseek(file, offset, SEEK_SET); +- c[255]='\0'; + + do { + sys_fread(c, 1, 255, file); + l = strlen(c); + s = realloc(s, n + l + 1); +- strncpy(s + n, c, l); ++ memcpy(s + n, c, l); + n += l; + s[n] = '\0'; + } while (l == 255); +-- +2.19.2 + diff --git a/changelog b/changelog new file mode 100644 index 0000000..3d4af01 --- /dev/null +++ b/changelog @@ -0,0 +1,80 @@ +* Sat Jan 17 2026 Fedora Release Engineering - 0.21-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 0.21-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 0.21-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 25 2024 Miroslav Suchý - 0.21-23 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 0.21-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 0.21-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0.21-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 0.21-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.21-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 0.21-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.21-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.21-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.21-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 0.21-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 0.21-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Feb 11 2019 Zbigniew Jędrzejewski-Szmek - 0.21-11 +- Add patch to fix build + +* Sun Feb 03 2019 Fedora Release Engineering - 0.21-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.21-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 0.21-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.21-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.21-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.21-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 0.21-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 0.21-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 0.21-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 0.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Nov 21 2013 Christopher Meng - 0.21-1 +- Initial Package. diff --git a/undbx.spec b/undbx.spec index f33e715..5fdcc29 100644 --- a/undbx.spec +++ b/undbx.spec @@ -1,19 +1,26 @@ Name: undbx Version: 0.21 -Release: 10%{?dist} +Release: %autorelease Summary: Outlook Express .dbx files extractor -License: GPLv3+ -URL: https://code.google.com/p/undbx/ -Source0: https://undbx.googlecode.com/files/%{name}-%{version}.tar.gz +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later +URL: https://github.com/ZungBang/undbx +Source0: https://github.com/ZungBang/undbx/archive/undbx-%{version}.tar.gz +# https://github.com/ZungBang/undbx/pull/3 +Patch0: 0001-Adjust-strncpy-call-to-not-use-string-length.patch + +BuildRequires: make BuildRequires: gcc +%define _pkg_extra_cflags -Wno-error=unused-but-set-variable + %description UnDBX is a tool to extract, recover and undelete e-mail messages from Outlook Express .dbx file. %prep -%setup -q +%autosetup -p1 %build %configure @@ -29,32 +36,4 @@ Outlook Express .dbx file. %exclude %{_bindir}/undbx.hta %changelog -* Sat Jul 14 2018 Fedora Release Engineering - 0.21-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 0.21-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Aug 03 2017 Fedora Release Engineering - 0.21-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 0.21-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 0.21-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Feb 05 2016 Fedora Release Engineering - 0.21-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 19 2015 Fedora Release Engineering - 0.21-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Aug 18 2014 Fedora Release Engineering - 0.21-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 0.21-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Nov 21 2013 Christopher Meng - 0.21-1 -- Initial Package. +%autochangelog