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

Commit cf0ae8aa authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android Git Automerger
Browse files

am 63155dfa: Merge "Fix possible SIGSEGV."

* commit '63155dfa':
  Fix possible SIGSEGV.
parents 3b89a257 63155dfa
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -49,8 +49,10 @@ class DicNodeStateOutput {
    void addMergedNodeCodePoints(const uint16_t mergedNodeCodePointCount,
            const int *const mergedNodeCodePoints) {
        if (mergedNodeCodePoints) {
            const int additionalCodePointCount = min(static_cast<int>(mergedNodeCodePointCount),
                    MAX_WORD_LENGTH - mOutputtedCodePointCount);
            memcpy(&mCodePointsBuf[mOutputtedCodePointCount], mergedNodeCodePoints,
                    mergedNodeCodePointCount * sizeof(mCodePointsBuf[0]));
                    additionalCodePointCount * sizeof(mCodePointsBuf[0]));
            mOutputtedCodePointCount = static_cast<uint16_t>(
                    mOutputtedCodePointCount + mergedNodeCodePointCount);
            if (mOutputtedCodePointCount < MAX_WORD_LENGTH) {
+5 −2
Original line number Diff line number Diff line
@@ -69,11 +69,14 @@ class DicNodeStatePrevWord {
            const int prevWordNodePos, const int *const src0, const int16_t length0,
            const int *const src1, const int16_t length1, const int *const prevSpacePositions,
            const int lastInputIndex) {
        mPrevWordCount = prevWordCount;
        mPrevWordCount = min(prevWordCount, static_cast<int16_t>(MAX_RESULTS));
        mPrevWordProbability = prevWordProbability;
        mPrevWordNodePos = prevWordNodePos;
        const int twoWordsLen =
        int twoWordsLen =
                DicNodeUtils::appendTwoWords(src0, length0, src1, length1, mPrevWord);
        if (twoWordsLen >= MAX_WORD_LENGTH) {
            twoWordsLen = MAX_WORD_LENGTH - 1;
        }
        mPrevWord[twoWordsLen] = KEYCODE_SPACE;
        mPrevWordStart = length0;
        mPrevWordLength = static_cast<int16_t>(twoWordsLen + 1);