diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-01-15 05:05:02 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-01-15 05:05:02 +0000 |
commit | 17a32e8072da33bfb5c137a3660e59b7287f8a3c (patch) | |
tree | aeff4c2802dd2bb2f94b87b6c7cae41c4ef508bc /native/graphics | |
parent | 7a3e2a8f5ce72936c0d0fab3875646830582a345 (diff) | |
parent | f63c349053b491f46ed8883684329353c6255194 (diff) |
Merge "Improve AImageDecoder fuzzer"
Diffstat (limited to 'native/graphics')
-rw-r--r-- | native/graphics/jni/corpus/webp-color-profile-lossless.webp | bin | 0 -> 43866 bytes | |||
-rw-r--r-- | native/graphics/jni/fuzz_imagedecoder.cpp | 8 |
2 files changed, 7 insertions, 1 deletions
diff --git a/native/graphics/jni/corpus/webp-color-profile-lossless.webp b/native/graphics/jni/corpus/webp-color-profile-lossless.webp Binary files differnew file mode 100644 index 000000000000..4fd63d5794ff --- /dev/null +++ b/native/graphics/jni/corpus/webp-color-profile-lossless.webp diff --git a/native/graphics/jni/fuzz_imagedecoder.cpp b/native/graphics/jni/fuzz_imagedecoder.cpp index f2cd1a8f4eb9..015aca70e4e0 100644 --- a/native/graphics/jni/fuzz_imagedecoder.cpp +++ b/native/graphics/jni/fuzz_imagedecoder.cpp @@ -73,6 +73,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { return 0; } - AImageDecoder_decodeImage(decoder.get(), pixels.get(), stride, pixelSize); + while (true) { + int result = AImageDecoder_decodeImage(decoder.get(), pixels.get(), stride, pixelSize); + if (result != ANDROID_IMAGE_DECODER_SUCCESS) break; + + result = AImageDecoder_advanceFrame(decoder.get()); + if (result != ANDROID_IMAGE_DECODER_SUCCESS) break; + } return 0; } |