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

Commit 63155dfa authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Fix possible SIGSEGV."

parents c8fb03e6 4a65258b
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);