From 154e7d941082943efbcd06a4317c8eca63c75dc7 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Jun 18 2009 10:21:41 +0000 Subject: - fix segfault in symlink fingerprinting (#505777) --- diff --git a/rpm-4.7.0-fp-symlink.patch b/rpm-4.7.0-fp-symlink.patch new file mode 100644 index 0000000..071f4ec --- /dev/null +++ b/rpm-4.7.0-fp-symlink.patch @@ -0,0 +1,26 @@ +commit 1b9e6d7f48a68fd677c70d04c9a6bb4274cf7b9f +Author: Florian Festi +Date: Tue Jun 16 17:37:40 2009 +0200 + + Fix Segfault for to be installed symlinks pointing to existing locations + fixes rhbz#505777 + +diff --git a/lib/fprint.c b/lib/fprint.c +index d32eec1..e57ba20 100644 +--- a/lib/fprint.c ++++ b/lib/fprint.c +@@ -311,10 +311,10 @@ void fpLookupSubdir(rpmFpHash symlinks, rpmFpHash fphash, fingerPrintCache fpc, + /* setup current_fp for the new path */ + found = 1; + current_fp = *fp; +- if (!fp->subDir) { +- lensubDir = 0; +- currentsubdir = endsubdir = NULL; +- break; ++ if (fp->subDir == NULL) { ++ /* directory exists - no need to look for symlinks */ ++ rpmFpHashAddEntry(fphash, fp, ffi); ++ return; + } + lensubDir = strlen(fp->subDir); + currentsubdir = xstrdup(fp->subDir); diff --git a/rpm.spec b/rpm.spec index b6d9dde..55fd1c9 100644 --- a/rpm.spec +++ b/rpm.spec @@ -45,6 +45,7 @@ Patch202: rpm-4.7.0-python-altnevr.patch Patch203: rpm-4.7.0-hardlink-sizes.patch Patch204: rpm-4.7.0-dwarf3.patch Patch205: rpm-4.7.0-osgideps.patch +Patch206: rpm-4.7.0-fp-symlink.patch # These are not yet upstream Patch300: rpm-4.7.0-extra-provides.patch @@ -203,6 +204,7 @@ packages on a system. %patch203 -p1 -b .hardlink-sizes %patch204 -p1 -b .dwarf3 %patch205 -p1 -b .osgideps +%patch206 -p1 -b .fp-symlink %patch300 -p1 -b .extra-prov %patch301 -p1 -b .niagara @@ -419,6 +421,7 @@ exit 0 %changelog * Thu Jun 18 2009 Panu Matilainen - 4.7.0-8 - updated OSGi dependency extractor (#506471) +- fix segfault in symlink fingerprinting (#505777) * Tue Jun 16 2009 Panu Matilainen - 4.7.0-7 - add dwarf-3 support to debugedit (#505774)