|
@@ -859,6 +859,8 @@ ErrorOr<NonnullRefPtr<Font>> Font::try_load_from_externally_owned_memory(Seekabl
|
|
static constexpr size_t MAX_BUFFER_SIZE = 10 * MiB;
|
|
static constexpr size_t MAX_BUFFER_SIZE = 10 * MiB;
|
|
if (header.length > TRY(stream.size()))
|
|
if (header.length > TRY(stream.size()))
|
|
return Error::from_string_literal("Invalid WOFF length");
|
|
return Error::from_string_literal("Invalid WOFF length");
|
|
|
|
+ if (header.total_compressed_size > MAX_BUFFER_SIZE)
|
|
|
|
+ return Error::from_string_literal("Compressed font is more than 10 MiB");
|
|
if (header.meta_length == 0 && header.meta_offset != 0)
|
|
if (header.meta_length == 0 && header.meta_offset != 0)
|
|
return Error::from_string_literal("Invalid WOFF meta block offset");
|
|
return Error::from_string_literal("Invalid WOFF meta block offset");
|
|
if (header.priv_length == 0 && header.priv_offset != 0)
|
|
if (header.priv_length == 0 && header.priv_offset != 0)
|