diff options
author | Qing He <qing.he@intel.com> | 2011-05-27 17:03:18 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-27 13:17:46 +0100 |
commit | bc4b86639a713c877dbe5e0f984873915d1578d4 (patch) | |
tree | c721f70b23ec3603989a341b5a169dbb83a9f459 /meta | |
parent | abc9f446c1e239ce34bbd0893a189cd7a6709fb2 (diff) | |
download | openembedded-core-bc4b86639a713c877dbe5e0f984873915d1578d4.tar.gz openembedded-core-bc4b86639a713c877dbe5e0f984873915d1578d4.tar.bz2 openembedded-core-bc4b86639a713c877dbe5e0f984873915d1578d4.tar.xz openembedded-core-bc4b86639a713c877dbe5e0f984873915d1578d4.zip |
rpm: fix fprint pointer issue
[YOCTO #1030]
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch | 35 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm_5.4.0.bb | 3 |
2 files changed, 37 insertions, 1 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch b/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch new file mode 100644 index 000000000..87a92eb9a --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch @@ -0,0 +1,35 @@ +Upstream-Status: Submitted + +From: Qing He <qing.he@intel.com> +Subject: [PATCH] rpm 5.4.0: Fix pointer mishandling + +In fpLookupSubdir, data returned by hash should be of type +"struct rpmffi_s **" instead of "struct rpmffi_s *" to avoid +segfault. + +Signed-off-by: Qing He <qing.he@intel.com> + +diff --git a/rpmdb/fprint.c b/rpmdb/fprint.c +index 0e76148..82b8f45 100644 +--- a/rpmdb/fprint.c ++++ b/rpmdb/fprint.c +@@ -333,7 +333,7 @@ restart: + *te = '\0'; + + while (te < se) { +- struct rpmffi_s * recs; ++ struct rpmffi_s ** recs; + int numRecs; + int i; + +@@ -346,8 +346,8 @@ restart: + const char * link; + int fx; + +- fx = recs[i].fileno; +- fi = recs[i].p->fi; ++ fx = recs[i]->fileno; ++ fi = recs[i]->p->fi; + flink = fi->flinks[fx]; + if (!(flink && *flink != '\0')) + continue; diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb index ff55469d2..d3f85f22a 100644 --- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb +++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb @@ -43,7 +43,7 @@ LICENSE = "LGPL 2.1" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "bzip2 zlib python perl db openssl elfutils expat libpcre attr acl popt" -PR = "r15" +PR = "r16" # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed # in order to extract the distribution SRPM into a format we can extract... @@ -57,6 +57,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;ex file://rpm-nofsync.patch \ file://rpm-solvedb.patch \ file://rpm-tools-mtree-LDFLAGS.patch \ + file://fprint-pointer-fix.patch \ " # file://hdraddorappend.patch \ |