config_host.mk.in | 1 - configure.ac | 11 ++--------- i18npool/CustomTarget_breakiterator.mk | 2 +- icu/icu4c-buffer-overflow.patch | 29 +++++++++++++++++++++++++++++ icu/makefile.mk | 1 + officecfg/prj/build.lst | 2 +- 6 files changed, 34 insertions(+), 12 deletions(-)
New commits: commit 343a92f18cb4069acca547d455fcbd9ce42815e1 Author: Tomáš Chvátal <tchva...@suse.cz> Date: Thu Dec 20 15:35:29 2012 +0100 Require icu 4.6 or later with system icu Change-Id: I8c0da25a000e10d65479665a61be054fdb2486a5 Reviewed-on: https://gerrit.libreoffice.org/1453 Reviewed-by: David Tardon <dtar...@redhat.com> Tested-by: Tomáš Chvátal <tchva...@suse.cz> diff --git a/config_host.mk.in b/config_host.mk.in index 4bab5d6..6ffd0fe 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -247,7 +247,6 @@ export ICECREAM_RUN=@ICECREAM_RUN@ export ICU_MAJOR=@ICU_MAJOR@ export ICU_MICRO=@ICU_MICRO@ export ICU_MINOR=@ICU_MINOR@ -export ICU_RECLASSIFIED_CLOSE_PARENTHESIS=@ICU_RECLASSIFIED_CLOSE_PARENTHESIS@ export ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER=@ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER@ export ICU_RECLASSIFIED_HEBREW_LETTER=@ICU_RECLASSIFIED_HEBREW_LETTER@ export ICU_RECLASSIFIED_PREPEND_SET_EMPTY=@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@ diff --git a/configure.ac b/configure.ac index 064a2e9..b028e39 100644 --- a/configure.ac +++ b/configure.ac @@ -8109,7 +8109,6 @@ SYSTEM_GENCMN= ICU_MAJOR=49 ICU_MINOR=1 ICU_MICRO=1 -ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES" ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="YES" ICU_RECLASSIFIED_HEBREW_LETTER="YES" @@ -8134,10 +8133,10 @@ if test "$with_system_icu" = "yes"; then ICU_MINOR=`echo $ICU_VERSION | cut -d"." -f2` ICU_MICRO=`echo $ICU_VERSION | cut -d"." -f3` - if test "$ICU_MAJOR" -ge "4"; then + if test "$ICU_MAJOR" -ge "49" -o \( "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "6" \); then AC_MSG_RESULT([OK, $ICU_VERSION]) else - AC_MSG_ERROR([not suitable, only >= 4.0 supported currently]) + AC_MSG_ERROR([not suitable, only >= 4.6 supported currently]) fi if test "$cross_compiling" = "yes" -a \( "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" = "force" \); then @@ -8172,11 +8171,6 @@ You can use --with-system-icu-for-build=force to use it anyway.]) if test -z "$SYSTEM_GENCMN"; then AC_MSG_ERROR([\'gencmn\' not found in \$PATH, install the icu development tool \'gencmn\']) fi - if test "$ICU_MAJOR" -ge "49" -o \( "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4" \); then - ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" - else - ICU_RECLASSIFIED_CLOSE_PARENTHESIS="NO" - fi if test "$ICU_MAJOR" -ge "49"; then ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES" else @@ -8203,7 +8197,6 @@ AC_SUBST(SYSTEM_GENCMN) AC_SUBST(ICU_MAJOR) AC_SUBST(ICU_MINOR) AC_SUBST(ICU_MICRO) -AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS) AC_SUBST([ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER]) AC_SUBST([ICU_RECLASSIFIED_HEBREW_LETTER]) AC_SUBST(ICU_RECLASSIFIED_PREPEND_SET_EMPTY) diff --git a/i18npool/CustomTarget_breakiterator.mk b/i18npool/CustomTarget_breakiterator.mk index f7df926..f12b94c 100644 --- a/i18npool/CustomTarget_breakiterator.mk +++ b/i18npool/CustomTarget_breakiterator.mk @@ -121,7 +121,7 @@ $(i18npool_BIDIR)/%.brk : $(i18npool_BIDIR)/%.txt $(i18npool_GENBRKTARGET) $(i18npool_BIDIR)/%.txt : \ $(SRCDIR)/i18npool/source/breakiterator/data/%.txt | $(i18npool_BIDIR)/.dir sed -e ': dummy' \ - $(if $(filter YES,$(ICU_RECLASSIFIED_CLOSE_PARENTHESIS)),-e "s#\[:LineBreak = Close_Punctuation:\]#\[& \[:LineBreak = Close_Parenthesis:\]\]#") \ + -e "s#\[:LineBreak = Close_Punctuation:\]#\[& \[:LineBreak = Close_Parenthesis:\]\]#" \ $(if $(filter-out YES,$(ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER)),\ -e '/\[:LineBreak = Conditional_Japanese_Starter:\]/d' \ -e 's# $$CJ##' \ commit aa7b9f0da9e810ff165204d4c6a51633c177ac78 Author: Tomáš Chvátal <tchva...@suse.cz> Date: Thu Dec 20 23:53:52 2012 +0100 Require l10ntools on officecfg Change-Id: I31f212f21f57b37b2b4f1f5dd753a4211c58bcdb diff --git a/officecfg/prj/build.lst b/officecfg/prj/build.lst index 8f0653a..411d267 100644 --- a/officecfg/prj/build.lst +++ b/officecfg/prj/build.lst @@ -1,2 +1,2 @@ -oc officecfg : soltools solenv LIBXSLT:libxslt NULL +oc officecfg : l10ntools soltools solenv LIBXSLT:libxslt NULL oc officecfg\prj nmake - all oc_prj NULL commit 0892ab21a71c316c801f1be7c9c0ae6603495b21 Author: Tomáš Chvátal <tchva...@suse.cz> Date: Sun Dec 23 13:21:27 2012 +0100 Add icu patch to avoid buffer overflow, taken from obs Change-Id: I42ae81279fedca04b7ba08269a6c47f174cf6b01 diff --git a/icu/icu4c-buffer-overflow.patch b/icu/icu4c-buffer-overflow.patch new file mode 100644 index 0000000..1f3d2ca --- /dev/null +++ b/icu/icu4c-buffer-overflow.patch @@ -0,0 +1,29 @@ +I: Statement might be overflowing a buffer in strncat. Common mistake: + BAD: strncat(buffer,charptr,sizeof(buffer)) is wrong, it takes the left over size as 3rd argument + GOOD: strncat(buffer,charptr,sizeof(buffer)-strlen(buffer)-1) +E: icu bufferoverflowstrncat pkgdata.cpp:299:87 + +--- + source/tools/pkgdata/pkgdata.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: icu/source/tools/pkgdata/pkgdata.cpp +=================================================================== +--- icu.orig/source/tools/pkgdata/pkgdata.cpp ++++ icu/source/tools/pkgdata/pkgdata.cpp +@@ -1914,12 +1914,12 @@ static void loadLists(UPKGOptions *o, UE + const char cmd[] = "icu-config --incpkgdatafile"; + + /* #1 try the same path where pkgdata was called from. */ +- findDirname(progname, cmdBuf, 1024, &status); ++ findDirname(progname, cmdBuf, sizeof(cmdBuf), &status); + if(U_SUCCESS(status)) { + if (cmdBuf[0] != 0) { +- uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024); ++ uprv_strncat(cmdBuf, U_FILE_SEP_STRING, sizeof(cmdBuf)-1-strlen(cmdBuf)); + } +- uprv_strncat(cmdBuf, cmd, 1024); ++ uprv_strncat(cmdBuf, cmd, sizeof(cmdBuf)-1-strlen(cmdBuf)); + + if(verbose) { + fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf); diff --git a/icu/makefile.mk b/icu/makefile.mk index 2d50a24..5494fa5 100644 --- a/icu/makefile.mk +++ b/icu/makefile.mk @@ -57,6 +57,7 @@ PATCH_FILES=\ icu4c-macosx.patch \ icu4c-solarisgcc.patch \ icu4c-mkdir.patch \ + icu4c-buffer-overflow.patch \ .IF "$(OS)"=="ANDROID" PATCH_FILES+=\
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits