You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by hd...@apache.org on 2011/12/14 11:11:36 UTC
svn commit: r1214135 - /incubator/ooo/trunk/main/icu/icu4c-4_0_1-src.patch
Author: hdu
Date: Wed Dec 14 10:11:36 2011
New Revision: 1214135
URL: http://svn.apache.org/viewvc?rev=1214135&view=rev
Log:
check string acesses in ICU uloc.c
Modified:
incubator/ooo/trunk/main/icu/icu4c-4_0_1-src.patch
Modified: incubator/ooo/trunk/main/icu/icu4c-4_0_1-src.patch
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/icu/icu4c-4_0_1-src.patch?rev=1214135&r1=1214134&r2=1214135&view=diff
==============================================================================
--- incubator/ooo/trunk/main/icu/icu4c-4_0_1-src.patch (original)
+++ incubator/ooo/trunk/main/icu/icu4c-4_0_1-src.patch Wed Dec 14 10:11:36 2011
@@ -245,3 +245,23 @@
T_FileStream_writeLine(makefile, tmp);
if(o->hadStdin == FALSE) { /* shortcut */
+--- misc/icu/source/common/uloc.c 2009-01-15 08:45:56.000000000 +0100
++++ misc/build/icu/source/common/uloc.c 2009-12-14 10:51:38.000000000 +0100
+@@ -1736,7 +1736,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;
+@@ -1744,7 +1744,7 @@
+ break;
+ }
+ }
+- if (name[len-1] == '_') { /* delete trailing '_' */
++ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
+ --len;
+ }
+ }