diff --git a/Userland/Libraries/LibGfx/Font/OpenType/Cmap.cpp b/Userland/Libraries/LibGfx/Font/OpenType/Cmap.cpp index fff80e0600..e88f33750b 100644 --- a/Userland/Libraries/LibGfx/Font/OpenType/Cmap.cpp +++ b/Userland/Libraries/LibGfx/Font/OpenType/Cmap.cpp @@ -68,7 +68,7 @@ Optional Cmap::subtable(u32 index) const return {}; } u32 record_offset = (u32)Sizes::TableHeader + index * (u32)Sizes::EncodingRecord; - if (record_offset + (u32)Offsets::EncodingRecord_Offset >= m_slice.size()) + if (record_offset + (u32)Offsets::EncodingRecord_Offset + sizeof(u32) > m_slice.size()) return {}; u16 platform_id = be_u16(m_slice.offset(record_offset)); u16 encoding_id = be_u16(m_slice.offset(record_offset + (u32)Offsets::EncodingRecord_EncodingID));