From d7331aca3ec7eb45607cffc8edec836f834b8ffa Mon Sep 17 00:00:00 2001 From: hugel <2712504175@qq.com> Date: Fri, 20 Sep 2024 10:07:23 +0800 Subject: [PATCH] Backport some patches from upstream --- ...ion-by-zero-in-elfdeps-RhBug-2299414.patch | 30 +++++++++++++++++++ rpm.spec | 6 +++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch diff --git a/backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch b/backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch new file mode 100644 index 0000000..48b114e --- /dev/null +++ b/backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch @@ -0,0 +1,30 @@ +From 02ffc5158d1ad270e0b5c7ce6dfe4414a6ec029f Mon Sep 17 00:00:00 2001 +From: Michal Domonkos +Date: Wed, 31 Jul 2024 16:19:40 +0200 +Subject: [PATCH] Fix division by zero in elfdeps (RhBug:2299414) + +Conflict:NA +Reference:https://github.com/rpm-software-management/rpm/commit/02ffc5158d1ad270e0b5c7ce6dfe4414a6ec029f + +Assume that the section does not hold a table if sh_entsize is 0 (as +specified in the elf(5) man page) and just skip it if that's the case. +--- + tools/elfdeps.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tools/elfdeps.c b/tools/elfdeps.c +index cb388f08d..822359ab9 100644 +--- a/tools/elfdeps.c ++++ b/tools/elfdeps.c +@@ -196,6 +196,8 @@ static void processVerNeed(Elf_Scn *scn, GElf_Shdr *shdr, elfInfo *ei) + static void processDynamic(Elf_Scn *scn, GElf_Shdr *shdr, elfInfo *ei) + { + Elf_Data *data = NULL; ++ if (shdr->sh_entsize == 0) ++ return; + while ((data = elf_getdata(scn, data)) != NULL) { + for (int i = 0; i < (shdr->sh_size / shdr->sh_entsize); i++) { + const char *s = NULL; +-- +2.33.0 + diff --git a/rpm.spec b/rpm.spec index 4bd1d9f..30cbd78 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,6 +1,6 @@ Name: rpm Version: 4.15.1 -Release: 58 +Release: 59 Summary: RPM Package Manager License: GPLv2+ URL: http://www.rpm.org/ @@ -224,6 +224,7 @@ Patch202: backport-Fix-pointer-bogosity-in-rpmlog-callback.patch Patch203: backport-Fix-an-ancient-memleak-on-caps-parsing-add-tests.patch Patch204: backport-Fix-potential-use-of-uninitialized-pipe-array.patch Patch205: backport-Fix-potential-use-of-uninitialized-pgp-struct.patch +Patch206: backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel libdb-devel BuildRequires: zlib-devel libzstd-devel xz-devel bzip2-devel libarchive-devel ima-evm-utils-devel @@ -520,6 +521,9 @@ make check || (cat tests/rpmtests.log; exit 0) %{_mandir}/man1/gendiff.1* %changelog +* Fri Sep 20 2024 hugel - 4.15.1-59 +- Backport some patches from upstream + * Thu Aug 15 2024 gengqihu - 4.15.1-58 - Backport some patches from upstream