Kaydet (Commit) 3025a28b authored tarafından Stephan Bergmann's avatar Stephan Bergmann

external/icu: More workaround UBSan flexible array member detection

Change-Id: Ie83e3104bd639be42ac0c6e25fc2eafd88cf0c6f
üst 1b1c11f5
......@@ -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();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment