[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - icu/icu4c.10129.wintz.patch icu/makefile.mk
Isamu Mogi
saturday6c at gmail.com
Mon May 13 03:36:02 PDT 2013
icu/icu4c.10129.wintz.patch | 26 ++++++++++++++++++++++++++
icu/makefile.mk | 1 +
2 files changed, 27 insertions(+)
New commits:
commit 2acdef7ee40179c7bc5e9510ad1ddc1266d053ab
Author: Isamu Mogi <saturday6c at gmail.com>
Date: Mon May 6 11:16:10 2013 +0000
fdo#59850: Resolves invalid date changing by ICU's timezone detection bug.
This is a backport of 263ab3f14bbb8cea9f5a1b8ea7496f6a23e6c547 .
Patch was also submitted with https://ssl.icu-project.org/trac/ticket/10129
of which the outcome should be monitored.
u_strFromWCS() returns a wrong destination length for u_austrncpy() if
apiTZI.StandardName is multibyte string. Therefore apiStdName will be incomplete
string, and timezone detection (using apiStdName) returns invalid result. This
will fix destination length for u_austrncpy() enough to write multibyte string.
Change-Id: I0aa7da85aec41c61b04f76fb4cd5148f4d389991
Reviewed-on: https://gerrit.libreoffice.org/3798
Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
Tested-by: Fridrich Strba <fridrich at documentfoundation.org>
diff --git a/icu/icu4c.10129.wintz.patch b/icu/icu4c.10129.wintz.patch
new file mode 100644
index 0000000..d365f5e
--- /dev/null
+++ b/icu/icu4c.10129.wintz.patch
@@ -0,0 +1,26 @@
+
+# Fix for fdo#59850
+# Patch was also submitted with https://ssl.icu-project.org/trac/ticket/10129
+# of which the outcome should be monitored.
+
+--- misc/icu/source/common/wintz.c 2012-04-05 20:46:14.000000000 +0000
++++ misc/build/icu/source/common/wintz.c 2013-05-03 13:00:47.188384300 +0000
+@@ -255,7 +255,6 @@
+ char apiStdName[MAX_LENGTH_ID];
+ char regStdName[MAX_LENGTH_ID];
+ char tmpid[MAX_LENGTH_ID];
+- int32_t apiStdLength = 0;
+ int32_t len;
+
+ LONG result;
+@@ -278,8 +277,8 @@
+
+ /* Convert the wchar_t* standard name to char* */
+ uprv_memset(apiStdName, 0, sizeof(apiStdName));
+- u_strFromWCS(apiStd, MAX_LENGTH_ID, &apiStdLength, apiTZI.StandardName, -1, &status);
+- u_austrncpy(apiStdName, apiStd, apiStdLength);
++ u_strFromWCS(apiStd, MAX_LENGTH_ID, NULL, apiTZI.StandardName, -1, &status);
++ u_austrncpy(apiStdName, apiStd, sizeof(apiStdName) - 1);
+
+ tmpid[0] = 0;
+
diff --git a/icu/makefile.mk b/icu/makefile.mk
index 98708df..1f6e8e8 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -46,6 +46,7 @@ TARFILE_ROOTDIR=icu
#http://bugs.icu-project.org/trac/ticket/8198 rendering with 0D30 and 0D31
PATCH_FILES=\
+ icu4c.10129.wintz.patch \
icu4c.9948.mlym-crash.patch \
icu4c-bsd.patch \
icu4c-build.patch \
More information about the Libreoffice-commits
mailing list