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

Commit f6aa9e9a authored by Keisuke Kuroynagi's avatar Keisuke Kuroynagi
Browse files

Fix: Reading invalid dictionary position.

Bug: 6669677

Change-Id: I3f4078aaa8cf72f3b366e7851457e9c753c0102f
parent b6f5d3e3
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -76,12 +76,13 @@ class TerminalAttributes {
              mNodeFlags(nodeFlags), mShortcutListSizePos(shortcutPos) {}

    inline ShortcutIterator getShortcutIterator() const {
        // The size of the shortcuts is stored here so that the whole shortcut chunk can be
        // skipped quickly, so we ignore it.
        int shortcutPos = mShortcutListSizePos;
        const bool hasShortcutList = 0 != (mNodeFlags & BinaryFormat::FLAG_HAS_SHORTCUT_TARGETS);
        if (hasShortcutList) {
            BinaryDictionaryTerminalAttributesReadingUtils::getShortcutListSizeAndForwardPointer(
                    mBinaryDictionaryInfo, &shortcutPos);
        const bool hasShortcutList = 0 != (mNodeFlags & BinaryFormat::FLAG_HAS_SHORTCUT_TARGETS);
        }
        // shortcutPos is never used if hasShortcutList is false.
        return ShortcutIterator(mBinaryDictionaryInfo, shortcutPos, hasShortcutList);
    }