!338 Don't segfault on missing priority tag
From: @mmzzmm Reviewed-by: @xujing99 Signed-off-by: @xujing99
This commit is contained in:
commit
5c24c2910a
40
backport-Don-t-segfault-on-missing-priority-tag.patch
Normal file
40
backport-Don-t-segfault-on-missing-priority-tag.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 920c1f38b1dfff49bec68515882ade4c03c90512 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Festi <ffesti@redhat.com>
|
||||
Date: Fri, 20 Aug 2021 15:14:16 +0200
|
||||
Subject: [PATCH] Don't segfault on missing priority tag
|
||||
|
||||
Resolves: #1636
|
||||
Related: #1638
|
||||
(cherry picked from commit fd57fc716231c8296d340fdb4c0f6eac176f7f7c)
|
||||
---
|
||||
lib/rpmtriggers.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/rpmtriggers.c b/lib/rpmtriggers.c
|
||||
index 53646a5..17257b4 100644
|
||||
--- a/lib/rpmtriggers.c
|
||||
+++ b/lib/rpmtriggers.c
|
||||
@@ -517,7 +517,8 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, rpmsenseFlags sense,
|
||||
if (matchFunc(ts, te, pfx, sense)) {
|
||||
for (i = 0; i < rpmdbIndexIteratorNumPkgs(ii); i++) {
|
||||
struct rpmtd_s priorities;
|
||||
- unsigned int priority;
|
||||
+ unsigned int priority = 0;
|
||||
+ unsigned int *priority_ptr;
|
||||
unsigned int offset = rpmdbIndexIteratorPkgOffset(ii, i);
|
||||
unsigned int tix = rpmdbIndexIteratorTagNum(ii, i);
|
||||
|
||||
@@ -535,7 +536,9 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, rpmsenseFlags sense,
|
||||
trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts), offset);
|
||||
headerGet(trigH, priorityTag, &priorities, HEADERGET_MINMEM);
|
||||
rpmtdSetIndex(&priorities, tix);
|
||||
- priority = *rpmtdGetUint32(&priorities);
|
||||
+ priority_ptr = rpmtdGetUint32(&priorities);
|
||||
+ if (priority_ptr)
|
||||
+ priority = *priority_ptr;
|
||||
headerFree(trigH);
|
||||
|
||||
/* Store file trigger in array */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
6
rpm.spec
6
rpm.spec
@ -1,6 +1,6 @@
|
||||
Name: rpm
|
||||
Version: 4.17.0
|
||||
Release: 37
|
||||
Release: 38
|
||||
Summary: RPM Package Manager
|
||||
License: GPLv2+
|
||||
URL: http://www.rpm.org/
|
||||
@ -127,6 +127,7 @@ Patch6088: backport-An-enumeration-is-not-a-bitfield-use-an-integer-inst.patch
|
||||
Patch6089: backport-Fix-an-enum-int-type-mismatch-in-rpmfiArchiveReadToF.patch
|
||||
Patch6090: backport-Fix-an-enum-int-type-mismatch-in-transaction-verify-.patch
|
||||
Patch6091: backport-Fix-enum-type-mismatch-in-rpmTagGetValue.patch
|
||||
Patch6092: backport-Don-t-segfault-on-missing-priority-tag.patch
|
||||
|
||||
BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel
|
||||
BuildRequires: zlib-devel zstd-devel >= 1.3.8 xz-devel bzip2-devel libarchive-devel ima-evm-utils-devel
|
||||
@ -417,6 +418,9 @@ make check || (cat tests/rpmtests.log; exit 0)
|
||||
%{_mandir}/man1/gendiff.1*
|
||||
|
||||
%changelog
|
||||
* Tue Jun 04 2024 Zhao Mengmeng <zhaomengmeng@kylinos.cn> - 4.17.0-38
|
||||
- Don't segfault on missing priority tag
|
||||
|
||||
* Tue May 7 2024 gengqihu<gengqihu2@h-partners.com> - 4.17.0-37
|
||||
- Backport some patches from upstream
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user