Commit ab39b6d0 authored by Dale Curtis's avatar Dale Curtis Committed by Chromium LUCI CQ

Limit ImageDecoder fuzzer's desired size to prevent OOM.

The fuzzer started requesting sizes of 27648x7936 which quickly lead to
OOM situations. This limits the max size to 4096x4096 for resizes. We
will probably need to limit decodes to this size eventually.

R=chcunningham

Fixed: 1169376
Change-Id: I3f7bbf5b56fe96a45771eada1779657476c12ffa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2643566
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Chrome Cunningham <chcunningham@chromium.org>
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: default avatarChrome Cunningham <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#845850}
parent ab4979f9
...@@ -113,8 +113,13 @@ DEFINE_BINARY_PROTO_FUZZER( ...@@ -113,8 +113,13 @@ DEFINE_BINARY_PROTO_FUZZER(
ToPremultiplyAlpha(proto.config().options().premultiply_alpha())); ToPremultiplyAlpha(proto.config().options().premultiply_alpha()));
options->setColorSpaceConversion(ToColorSpaceConversion( options->setColorSpaceConversion(ToColorSpaceConversion(
proto.config().options().color_space_conversion())); proto.config().options().color_space_conversion()));
options->setResizeWidth(proto.config().options().resize_width());
options->setResizeHeight(proto.config().options().resize_height()); // Limit resize support to a reasonable value to prevent fuzzer oom.
constexpr uint32_t kMaxDimension = 4096u;
options->setResizeWidth(
std::min(proto.config().options().resize_width(), kMaxDimension));
options->setResizeHeight(
std::min(proto.config().options().resize_height(), kMaxDimension));
options->setResizeQuality( options->setResizeQuality(
ToResizeQuality(proto.config().options().resize_quality())); ToResizeQuality(proto.config().options().resize_quality()));
image_decoder_init->setOptions(options); image_decoder_init->setOptions(options);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment