icu/icu4c-buffer-overflow.patch | 29 +++++++++++++++++++++++++++++ icu/makefile.mk | 1 + 2 files changed, 30 insertions(+)
New commits: commit 80af815ce0e4453a1960c39aaa8ebb4f5e412136 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