aboutsummaryrefslogtreecommitdiff
path: root/devel/icu
diff options
context:
space:
mode:
authorChris Rees <crees@FreeBSD.org>2011-12-23 14:54:18 +0000
committerChris Rees <crees@FreeBSD.org>2011-12-23 14:54:18 +0000
commit160b41eaeaffacd3bb559a2a69eec888e7907da0 (patch)
tree1ba6e3756243434f1d359300c6a074149697cdf4 /devel/icu
parent47ac35e443af40f316eb06e90c08424caa2bb598 (diff)
Notes
Diffstat (limited to 'devel/icu')
-rw-r--r--devel/icu/Makefile1
-rw-r--r--devel/icu/files/patch-common-uloc.c26
2 files changed, 27 insertions, 0 deletions
diff --git a/devel/icu/Makefile b/devel/icu/Makefile
index 8d41cd0f17c8..1f467690c62f 100644
--- a/devel/icu/Makefile
+++ b/devel/icu/Makefile
@@ -7,6 +7,7 @@
PORTNAME= icu
PORTVERSION= 4.8.1.1
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://download.icu-project.org/files/icu4c/${PORTVERSION}/ \
SF/${PORTNAME}/ICU4C/${PORTVERSION}/
diff --git a/devel/icu/files/patch-common-uloc.c b/devel/icu/files/patch-common-uloc.c
new file mode 100644
index 000000000000..0886b44dd7f7
--- /dev/null
+++ b/devel/icu/files/patch-common-uloc.c
@@ -0,0 +1,26 @@
+$FreeBSD$
+
+From http://bugs.icu-project.org/trac/ticket/8984
+
+Submitted by: Andrei Lavreniyuk <andy.lavr@gmail.com> (thanks!)
+
+--- common/uloc.c
++++ common/uloc.c
+@@ -1797,7 +1797,7 @@
+ int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n);
+ len -= variantLen;
+ if (variantLen > 0) {
+- if (name[len-1] == '_') { /* delete trailing '_' */
++ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
+ --len;
+ }
+ addKeyword = VARIANT_MAP[j].keyword;
+@@ -1805,7 +1805,7 @@
+ break;
+ }
+ }
+- if (name[len-1] == '_') { /* delete trailing '_' */
++ if (len > 0 && len <= nameCapacity && name[len-1] == '_') { /* delete trailing '_' */
+ --len;
+ }
+ }