diff options
author | Leon Scroggins III <scroggo@google.com> | 2020-02-11 16:31:21 -0500 |
---|---|---|
committer | Leon Scroggins III <scroggo@google.com> | 2020-02-11 17:01:46 -0500 |
commit | 2e6bedf937c7fd62a044d873422561d9b1e2e245 (patch) | |
tree | 14a4cd2571218ec5e316528aca1db3c3d4f9c076 /opengl/java | |
parent | 29097108e3474901e77265dc523e8c4ffe19e67b (diff) |
AImageDecoder: Make create enforce int32_t dimensions
Bug: 135133301
Test: AImageDecoderTest
AImageDecoderHeaderInfo_getWidth/Height return an int32_t. Ensure at
creation time that the actual image dimensions will fit in int32_t.
In today's code, this should almost never happen:
- PNGs have their dimensions limited to 1000000
- see PNG_USER_WIDTH_MAX and PNG_USER_HEIGHT_MAX in pnglibconf.h
- JPEGs are limited to 65500
- see JPEG_MAX_DIMENSION in jmorecfg.h
- WebPs' dimensions are encoded in 14 bits
- GIFs' dimensions are encoded in 16 bits
- SkBmpCodec and SkWbmpCodec require dimensions to fit in 16 bits
- SkIcoCodec uses SkBmpCodec or SkPngCodec, so their limits are
enforced
- libheif limits to a size smaller than int32_t
It might be possible for a DNG image to be larger, and some of the above
are configurable. Just in case, make AImageDecoder_create fail on such a
large image.
Change-Id: Id520dfbc0581f990c4f52cb6675e987bf71c558c
Diffstat (limited to 'opengl/java')
0 files changed, 0 insertions, 0 deletions