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

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

Merge "Fix: ExtendableBuffer"

parents 21661706 4e79fb24
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -66,16 +66,17 @@ bool BufferWithExtendableBuffer::writeCodePointsAndAdvancePosition(const int *co

bool BufferWithExtendableBuffer::checkAndPrepareWriting(const int pos, const int size) {
    if (isInAdditionalBuffer(pos)) {
        if (pos == mUsedAdditionalBufferSize) {
        const int tailPosition = getTailPosition();
        if (pos == tailPosition) {
            // Append data to the tail.
            if (pos + size > static_cast<int>(mAdditionalBuffer.size())) {
            if (pos + size > static_cast<int>(mAdditionalBuffer.size()) + mOriginalBufferSize) {
                // Need to extend buffer.
                if (!extendBuffer()) {
                    return false;
                }
            }
            mUsedAdditionalBufferSize += size;
        } else if (pos + size >= mUsedAdditionalBufferSize) {
        } else if (pos + size >= tailPosition) {
            // The access will beyond the tail of used region.
            return false;
        }