| Index: third_party/sqlite/src/ext/fts2/fts2_icu.c
|
| diff --git a/third_party/sqlite/src/ext/fts2/fts2_icu.c b/third_party/sqlite/src/ext/fts2/fts2_icu.c
|
| index a8b835962f91d3610ed82d37062c427693e03b84..6b6b1958ad7af55cb6fa0f8847b4e76ed7321cbb 100644
|
| --- a/third_party/sqlite/src/ext/fts2/fts2_icu.c
|
| +++ b/third_party/sqlite/src/ext/fts2/fts2_icu.c
|
| @@ -118,15 +118,15 @@ static int icuOpen(
|
| nChar = nInput+1;
|
| pCsr = (IcuCursor *)sqlite3_malloc(
|
| sizeof(IcuCursor) + /* IcuCursor */
|
| - (nChar+1) * sizeof(int) + /* IcuCursor.aOffset[] */
|
| - nChar * sizeof(UChar) /* IcuCursor.aChar[] */
|
| + ((nChar+3)&~3) * sizeof(UChar) + /* IcuCursor.aChar[] */
|
| + (nChar+1) * sizeof(int) /* IcuCursor.aOffset[] */
|
| );
|
| if( !pCsr ){
|
| return SQLITE_NOMEM;
|
| }
|
| memset(pCsr, 0, sizeof(IcuCursor));
|
| - pCsr->aOffset = (int *)&pCsr[1];
|
| - pCsr->aChar = (UChar *)&pCsr->aOffset[nChar+1];
|
| + pCsr->aChar = (UChar *)&pCsr[1];
|
| + pCsr->aOffset = (int *)&pCsr->aChar[(nChar+3)&~3];
|
|
|
| pCsr->aOffset[iOut] = iInput;
|
| U8_NEXT(zInput, iInput, nInput, c);
|
|
|