Merge branch 'master' into f25

* master: (3 commits)
  Expand python subpackage obsoletion range (related: #1394125)
  ...
This commit is contained in:
Panu Matilainen 2016-11-11 11:05:57 +02:00
commit 82cab847ba
2 changed files with 58 additions and 6 deletions

View File

@ -0,0 +1,40 @@
From f6521c50f6836374a0f7995f8f393aaf36e178ea Mon Sep 17 00:00:00 2001
Message-Id: <f6521c50f6836374a0f7995f8f393aaf36e178ea.1478522529.git.pmatilai@redhat.com>
From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 7 Nov 2016 13:38:39 +0200
Subject: [PATCH] Fix %transfiletriggerpostun undeterministic behavior
(RhBug:1284645)
Keys from rpmdbIndexIteratorNext() are not necessarily \0-terminated,
buyer beware.
Sometimes you get lucky, but in particular when built as PIE (such as
by default in Fedora) this falls over consistently.
In Fedora this has been hidden by the fact that test suite has been
disabled because its been so broken with fakechroot until recently,
and without PIE the testsuite regularly passes. Valgrind does
complain though.
---
lib/rpmtriggers.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/rpmtriggers.c b/lib/rpmtriggers.c
index a8612c0..ca22a6b 100644
--- a/lib/rpmtriggers.c
+++ b/lib/rpmtriggers.c
@@ -114,8 +114,11 @@ void rpmtriggersPrepPostUnTransFileTrigs(rpmts ts, rpmte te)
/* Iterate over file triggers in rpmdb */
while ((rpmdbIndexIteratorNext(ii, &key, &keylen)) == 0) {
+ char pfx[keylen + 1];
+ memcpy(pfx, key, keylen);
+ pfx[keylen] = '\0';
/* Check if file trigger matches any file in this te */
- rpmfi fi = rpmfilesFindPrefix(files, key);
+ rpmfi fi = rpmfilesFindPrefix(files, pfx);
if (rpmfiFC(fi) > 0) {
/* If yes then store it */
rpmdbAppendIterator(mi, rpmdbIndexIteratorPkgOffsets(ii),
--
2.7.4

View File

@ -3,7 +3,7 @@
# just for giggles, option to build with internal Berkeley DB
%bcond_with int_bdb
# run internal testsuite?
%bcond_with check
%bcond_without check
# build with plugins?
%bcond_without plugins
# build with sanitizers?
@ -29,7 +29,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}1%{?dist}
Release: %{?snapver:0.%{snapver}.}4%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2
@ -52,6 +52,8 @@ Patch4: rpm-4.8.1-use-gpg2.patch
Patch5: rpm-4.12.0-rpm2cpio-hack.patch
# Patches already upstream:
Patch100: rpm-4.13.x-transfiletriggerpostun-invalid-read.patch
Patch133: rpm-4.13.x-pythondistdeps.patch
Patch134: rpm-4.13.x-pythondistdeps-Makefile.patch
Patch135: rpm-4.13.x-pythondistdeps-fileattr.patch
@ -221,10 +223,10 @@ BuildRequires: python2-devel
%{?python_provide:%python_provide python2-%{name}}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-python = %{version}-%{release}
Obsoletes: %{name}-python < 4.13.0-0.rc1.44
Obsoletes: %{name}-python < %{version}-%{release}
%description -n python2-%{name}
The rpm-python package contains a module that permits applications
The python2-rpm package contains a module that permits applications
written in the Python programming language to use the interface
supplied by RPM Package Manager libraries.
@ -239,10 +241,10 @@ BuildRequires: python3-devel
%{?system_python_abi}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-python3 = %{version}-%{release}
Obsoletes: %{name}-python3 < 4.13.0-0.rc1.44
Obsoletes: %{name}-python3 < %{version}-%{release}
%description -n python3-%{name}
The rpm-python3 package contains a module that permits applications
The python3-rpm package contains a module that permits applications
written in the Python programming language to use the interface
supplied by RPM Package Manager libraries.
@ -556,6 +558,16 @@ exit 0
%doc doc/librpm/html/*
%changelog
* Fri Nov 11 2016 Panu Matilainen <pmatilai@redhat.com> - 4.13.0-4
- Expand python subpackage obsoletion range (related: #1394125)
* Mon Nov 07 2016 Panu Matilainen <pmatilai@redhat.com> - 4.13.0-3
- Fix invalid memory access on %transfiletriggerpostun (#1284645)
* Fri Nov 04 2016 Thierry Vignaud <tvignaud@redhat.com> - 4.13.0-2
- Fix package name references in python sub-packages to match reality
- Re-enable test-suite now that it works again
* Thu Nov 03 2016 Panu Matilainen <pmatilai@redhat.com> - 4.13.0-1
- Rebase to rpm 4.13.0 final (http://rpm.org/wiki/Releases/4.13.0)