Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e496f5d authored by Yusuke Nojima's avatar Yusuke Nojima
Browse files

Fix editDistance() not to access the outside of mEditDistanceTable

editDistance() can access the outside of mEditDistanceTable when called
with strings that contain MAX_WORD_LENGTH_INTERNAL characters.

Change-Id: I996e6cf21bd6acd6584beb4046c10491a044191e
parent 5b0c124c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -119,8 +119,9 @@ private:
    int mTerminalInputIndex;
    int mTerminalOutputIndex;
    unsigned short mWord[MAX_WORD_LENGTH_INTERNAL];
    // Edit distance calculation requires a buffer with (N+1)^2 length for the input length N.
    // Caveat: Do not create multiple tables per thread as this table eats up RAM a lot.
    int mEditDistanceTable[MAX_WORD_LENGTH_INTERNAL * MAX_WORD_LENGTH_INTERNAL];
    int mEditDistanceTable[(MAX_WORD_LENGTH_INTERNAL + 1) * (MAX_WORD_LENGTH_INTERNAL + 1)];

    CorrectionState mCorrectionStates[MAX_WORD_LENGTH_INTERNAL];