diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2010-05-10 14:41:12 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2010-05-10 14:41:12 +0000 |
commit | 12bd73bd9081b4e5ac7e561d064f9ddf42395833 (patch) | |
tree | b33ea1d3d609318c14400eab63c4104acd8f10d0 /main | |
parent | 2697a5397c0c7ea3582396c87edeb299439e5771 (diff) | |
download | aports-12bd73bd9081b4e5ac7e561d064f9ddf42395833.tar.bz2 aports-12bd73bd9081b4e5ac7e561d064f9ddf42395833.tar.xz |
main/apk-tools: fix segfault for apk info
ref #345
Diffstat (limited to 'main')
-rw-r--r-- | main/apk-tools/APKBUILD | 11 | ||||
-rw-r--r-- | main/apk-tools/info-segfault.patch | 22 |
2 files changed, 30 insertions, 3 deletions
diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD index 30f7eb5e9..e9fd040fe 100644 --- a/main/apk-tools/APKBUILD +++ b/main/apk-tools/APKBUILD @@ -1,26 +1,30 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=apk-tools pkgver=2.0.2 -pkgrel=1 +pkgrel=2 pkgdesc="Alpine Package Keeper - package manager for alpine" subpackages="$pkgname-static" depends= makedepends="zlib-dev openssl-dev pkgconfig" source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2 + info-segfault.patch " url="http://git.alpinelinux.org/cgit/apk-tools/" license=GPL-2 -build() { +prepare() { cd "$srcdir/$pkgname-$pkgver" sed -i -e 's:-Werror::' Make.rules for i in ../*.patch; do [ -f $i ] || continue patch -p1 -i $i || return 1 done +} +build() { + cd "$srcdir/$pkgname-$pkgver" make || return 1 make static || return 1 make DESTDIR="$pkgdir" install @@ -40,4 +44,5 @@ static() { "$subpkgdir"/sbin/apk.static } -md5sums="c87cb88f90eb8d7021d37e3b5386863d apk-tools-2.0.2.tar.bz2" +md5sums="c87cb88f90eb8d7021d37e3b5386863d apk-tools-2.0.2.tar.bz2 +aeab86a00119f9945edd6d3c3a8bb9c1 info-segfault.patch" diff --git a/main/apk-tools/info-segfault.patch b/main/apk-tools/info-segfault.patch new file mode 100644 index 000000000..9479fade3 --- /dev/null +++ b/main/apk-tools/info-segfault.patch @@ -0,0 +1,22 @@ +commit 87420aaf295f58847332ba3aa89691a0259baace +Author: Timo Teras <timo.teras@iki.fi> +Date: Wed May 5 08:56:06 2010 +0300 + + info: fix querying of removed, but referenced packages + + Check that package name has packages associated with it before + dereferencing the pointer. Fixes #345. + +diff --git a/src/info.c b/src/info.c +index 7ca486c..d944fca 100644 +--- a/src/info.c ++++ b/src/info.c +@@ -283,7 +283,7 @@ static int info_package(struct info_ctx *ctx, struct apk_database *db, + + for (i = 0; i < argc; i++) { + name = apk_db_query_name(db, APK_BLOB_STR(argv[i])); +- if (name == NULL) { ++ if (name == NULL || name->pkgs == NULL) { + apk_error("Not found: %s", argv[i]); + return 1; + } |