[Libreoffice-commits] core.git: external/icu

Stephan Bergmann sbergman at redhat.com
Tue Oct 28 06:35:04 PDT 2014


 external/icu/icu-ubsan.patch.0 |   17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

New commits:
commit 3025a28bc2e89af05c9d287a07223be0447d3c2f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Oct 28 14:33:46 2014 +0100

    external/icu: More workaround UBSan flexible array member detection
    
    Change-Id: Ie83e3104bd639be42ac0c6e25fc2eafd88cf0c6f

diff --git a/external/icu/icu-ubsan.patch.0 b/external/icu/icu-ubsan.patch.0
index 5f9e85f..7268bb7 100644
--- a/external/icu/icu-ubsan.patch.0
+++ b/external/icu/icu-ubsan.patch.0
@@ -9,9 +9,24 @@
                                      /*  This array does not have two elements             */
                                      /*    Array Size is actually fData->fHeader->fCatCount         */
                                      /*    CAUTION:  see RBBITableBuilder::getTableSize()  */
+@@ -126,7 +126,7 @@
+     uint32_t         fRowLen;       /*  Length of a state table row, in bytes.            */
+     uint32_t         fFlags;        /*  Option Flags for this state table                 */
+     uint32_t         fReserved;     /*  reserved                                          */
+-    char             fTableData[4]; /*  First RBBIStateTableRow begins here.              */
++    char             fTableData[1]; /*  First RBBIStateTableRow begins here.              */
+                                     /*    (making it char[] simplifies ugly address       */
+                                     /*     arithmetic for indexing variable length rows.) */
+ };
 --- source/common/rbbitblb.cpp
 +++ source/common/rbbitblb.cpp
-@@ -1072,10 +1072,10 @@
+@@ -1067,15 +1067,15 @@
+         return 0;
+     }
+ 
+-    size    = sizeof(RBBIStateTable) - 4;    // The header, with no rows to the table.
++    size    = offsetof(RBBIStateTable, fTableData);    // The header, with no rows to the table.
+ 
      numRows = fDStates->size();
      numCols = fRB->fSetBuilder->getNumCharCategories();
  


More information about the Libreoffice-commits mailing list