aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-01-10 14:28:39 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-01-10 14:36:25 +0000
commita9f1aa0785594722dbcebdf6b8c243a6c616a269 (patch)
treee2894799996126876a89f8d490d5dbc449d6bb36
parentdb5342a8f067c8fa7f416df0b1bce672cb9de0ad (diff)
downloadalpine_aports-a9f1aa0785594722dbcebdf6b8c243a6c616a269.tar.bz2
alpine_aports-a9f1aa0785594722dbcebdf6b8c243a6c616a269.tar.xz
alpine_aports-a9f1aa0785594722dbcebdf6b8c243a6c616a269.zip
main/icu: security fix (CVE-2011-4599)
fixes #909 (cherry picked from commit 2a47152a439b9747205655ca71541a917bbc6157) Conflicts: main/icu/APKBUILD
-rw-r--r--main/icu/APKBUILD18
-rw-r--r--main/icu/cve-2011-4599.patch20
2 files changed, 26 insertions, 12 deletions
diff --git a/main/icu/APKBUILD b/main/icu/APKBUILD
index 133c6fb058..948c581ec9 100644
--- a/main/icu/APKBUILD
+++ b/main/icu/APKBUILD
@@ -1,19 +1,11 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=icu 2pkgname=icu
3pkgver=4.8.1 3pkgver=4.8.1.1
4 4
5# convert x.y.z to x_y_z 5# convert x.y.z to x_y_z
6_x=${pkgver%%.*} 6_ver=${pkgver//./_}
7_y=${pkgver#$_x.}
8_y=${_y%%.*}
9_z=${pkgver#*.*.}
10if [ "$_z" = "$pkgver" ]; then
11 _ver=${_x}_${_y}
12else
13 _ver=${_x}_${_y}_${_z}
14fi
15 7
16pkgrel=0 8pkgrel=1
17pkgdesc="International Components for Unicode library" 9pkgdesc="International Components for Unicode library"
18url="http://www.icu-project.org/" 10url="http://www.icu-project.org/"
19arch="all" 11arch="all"
@@ -22,6 +14,7 @@ subpackages="$pkgname-dev $pkgname-doc"
22depends= 14depends=
23makedepends= 15makedepends=
24source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver-src.tgz 16source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver-src.tgz
17 cve-2011-4599.patch
25 " 18 "
26 19
27_builddir="$srcdir"/icu/source 20_builddir="$srcdir"/icu/source
@@ -60,4 +53,5 @@ package() {
60 install -Dm644 "$srcdir"/icu/license.html \ 53 install -Dm644 "$srcdir"/icu/license.html \
61 "$pkgdir"/usr/share/licenses/icu/license.html 54 "$pkgdir"/usr/share/licenses/icu/license.html
62} 55}
63md5sums="af36f635271a239d76d038d6cf8da8df icu4c-4_8_1-src.tgz" 56md5sums="ea93970a0275be6b42f56953cd332c17 icu4c-4_8_1_1-src.tgz
57f6798a48ee00015e2d5351a3c7a3bafe cve-2011-4599.patch"
diff --git a/main/icu/cve-2011-4599.patch b/main/icu/cve-2011-4599.patch
new file mode 100644
index 0000000000..4243370c9a
--- /dev/null
+++ b/main/icu/cve-2011-4599.patch
@@ -0,0 +1,20 @@
1--- ./common/uloc.c.orig
2+++ ./common/uloc.c
3@@ -1797,7 +1797,7 @@
4 int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n);
5 len -= variantLen;
6 if (variantLen > 0) {
7- if (name[len-1] == '_') { /* delete trailing '_' */
8+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
9 --len;
10 }
11 addKeyword = VARIANT_MAP[j].keyword;
12@@ -1805,7 +1805,7 @@
13 break;
14 }
15 }
16- if (name[len-1] == '_') { /* delete trailing '_' */
17+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
18 --len;
19 }
20 }