aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-05-10 14:41:12 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-05-26 14:16:24 +0000
commited22a255ac22d056bade9e7b3da6333dcc0d5c2d (patch)
tree06fbcec92b9bf6ce1761d0d873feb0909f09c10e
parent878a7a8ce20fefa96d991a7f3744b433ca1bbba2 (diff)
downloadalpine_aports-ed22a255ac22d056bade9e7b3da6333dcc0d5c2d.tar.bz2
alpine_aports-ed22a255ac22d056bade9e7b3da6333dcc0d5c2d.tar.xz
alpine_aports-ed22a255ac22d056bade9e7b3da6333dcc0d5c2d.zip
main/apk-tools: fix segfault for apk info
ref #345
-rw-r--r--main/apk-tools/APKBUILD11
-rw-r--r--main/apk-tools/info-segfault.patch22
2 files changed, 30 insertions, 3 deletions
diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD
index 7b36613784..65b299d94f 100644
--- a/main/apk-tools/APKBUILD
+++ b/main/apk-tools/APKBUILD
@@ -1,26 +1,30 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=apk-tools 2pkgname=apk-tools
3pkgver=2.0.2 3pkgver=2.0.2
4pkgrel=0 4pkgrel=1
5pkgdesc="Alpine Package Keeper - package manager for alpine" 5pkgdesc="Alpine Package Keeper - package manager for alpine"
6subpackages="$pkgname-static" 6subpackages="$pkgname-static"
7depends= 7depends=
8makedepends="zlib-dev openssl-dev pkgconfig" 8makedepends="zlib-dev openssl-dev pkgconfig"
9source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2 9source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2
10 info-segfault.patch
10 " 11 "
11 12
12 13
13url="http://git.alpinelinux.org/cgit/apk-tools/" 14url="http://git.alpinelinux.org/cgit/apk-tools/"
14license=GPL-2 15license=GPL-2
15 16
16build() { 17prepare() {
17 cd "$srcdir/$pkgname-$pkgver" 18 cd "$srcdir/$pkgname-$pkgver"
18 sed -i -e 's:-Werror::' Make.rules 19 sed -i -e 's:-Werror::' Make.rules
19 for i in ../*.patch; do 20 for i in ../*.patch; do
20 [ -f $i ] || continue 21 [ -f $i ] || continue
21 patch -p1 -i $i || return 1 22 patch -p1 -i $i || return 1
22 done 23 done
24}
23 25
26build() {
27 cd "$srcdir/$pkgname-$pkgver"
24 make || return 1 28 make || return 1
25 make static || return 1 29 make static || return 1
26 make DESTDIR="$pkgdir" install 30 make DESTDIR="$pkgdir" install
@@ -40,4 +44,5 @@ static() {
40 "$subpkgdir"/sbin/apk.static 44 "$subpkgdir"/sbin/apk.static
41} 45}
42 46
43md5sums="c87cb88f90eb8d7021d37e3b5386863d apk-tools-2.0.2.tar.bz2" 47md5sums="c87cb88f90eb8d7021d37e3b5386863d apk-tools-2.0.2.tar.bz2
48aeab86a00119f9945edd6d3c3a8bb9c1 info-segfault.patch"
diff --git a/main/apk-tools/info-segfault.patch b/main/apk-tools/info-segfault.patch
new file mode 100644
index 0000000000..9479fade30
--- /dev/null
+++ b/main/apk-tools/info-segfault.patch
@@ -0,0 +1,22 @@
1commit 87420aaf295f58847332ba3aa89691a0259baace
2Author: Timo Teras <timo.teras@iki.fi>
3Date: Wed May 5 08:56:06 2010 +0300
4
5 info: fix querying of removed, but referenced packages
6
7 Check that package name has packages associated with it before
8 dereferencing the pointer. Fixes #345.
9
10diff --git a/src/info.c b/src/info.c
11index 7ca486c..d944fca 100644
12--- a/src/info.c
13+++ b/src/info.c
14@@ -283,7 +283,7 @@ static int info_package(struct info_ctx *ctx, struct apk_database *db,
15
16 for (i = 0; i < argc; i++) {
17 name = apk_db_query_name(db, APK_BLOB_STR(argv[i]));
18- if (name == NULL) {
19+ if (name == NULL || name->pkgs == NULL) {
20 apk_error("Not found: %s", argv[i]);
21 return 1;
22 }