| Decoding |
| Rendering |
| ================================================================= |
| ==66109==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60d00000d000 at pc 0x0000007f17a3 bp 0x7fffbad7bde0 sp 0x7fffbad7bdd8 |
| READ of size 4 at 0x60d00000d000 thread T0 |
| #0 0x7f17a2 in SkReader32::readInt_asan() /tmp/skia/out/Release/../../src/core/SkReader32.h:57:25 |
| #1 0x7efb0d in SkPicturePlayback::handleOp(SkReader32*, DrawType, unsigned int, SkCanvas*, SkMatrix const&) /tmp/skia/out/Release/../../src/core/SkPicturePlayback.cpp:151:31 |
| #2 0x7ef5ee in SkPicturePlayback::draw(SkCanvas*, SkPicture::AbortCallback*) /tmp/skia/out/Release/../../src/core/SkPicturePlayback.cpp:111:9 |
| #3 0x7e63b8 in SkPicture::Forwardport(SkPictInfo const&, SkPictureData const*) /tmp/skia/out/Release/../../src/core/SkPicture.cpp:137:5 |
| #4 0x7e6552 in SkPicture::CreateFromStream(SkStream*, bool (*)(void const*, unsigned long, SkBitmap*), SkTypefacePlayback*) /tmp/skia/out/Release/../../src/core/SkPicture.cpp:154:12 |
| #5 0x724933 in fuzz_skp(SkData*) /tmp/skia/out/Release/../../fuzz/fuzz.cpp:143:33 |
| #6 0x724074 in main /tmp/skia/out/Release/../../fuzz/fuzz.cpp:54:30 |
| #7 0x7fa6ece70ec4 in __libc_start_main /tmp/tmp.Htw1L27e9P/csu/libc-start.c:287 |
| #8 0x67bfcf in _start (/tmp/executables/skpicture/analyzer1/fuzz_asan_release+0x67bfcf) |
| |
| 0x60d00000d000 is located 12 bytes to the right of 132-byte region [0x60d00000cf70,0x60d00000cff4) |
| allocated by thread T0 here: |
| #0 0x702f92 in __interceptor_malloc (/tmp/executables/skpicture/analyzer1/fuzz_asan_release+0x702f92) |
| #1 0xc04b91 in sk_malloc_flags(unsigned long, unsigned int) /tmp/skia/out/Release/../../src/ports/SkMemory_malloc.cpp:54:15 |
| #2 0x752d1b in SkData::PrivateNewWithCopy(void const*, unsigned long) /tmp/skia/out/Release/../../src/core/SkData.cpp:73:28 |
| #3 0x7533b6 in SkData::NewFromStream(SkStream*, unsigned long) /tmp/skia/out/Release/../../src/core/SkData.cpp:188:26 |
| #4 0x7ea6f1 in SkPictureData::parseStreamTag(SkStream*, unsigned int, unsigned int, bool (*)(void const*, unsigned long, SkBitmap*), SkTypefacePlayback*) /tmp/skia/out/Release/../../src/core/SkPictureData.cpp:361:23 |
| #5 0x7eb040 in SkPictureData::parseStream(SkStream*, bool (*)(void const*, unsigned long, SkBitmap*), SkTypefacePlayback*) /tmp/skia/out/Release/../../src/core/SkPictureData.cpp:589:14 |
| #6 0x7eaf7d in SkPictureData::CreateFromStream(SkStream*, SkPictInfo const&, bool (*)(void const*, unsigned long, SkBitmap*), SkTypefacePlayback*) /tmp/skia/out/Release/../../src/core/SkPictureData.cpp:562:10 |
| #7 0x7e6530 in SkPicture::CreateFromStream(SkStream*, bool (*)(void const*, unsigned long, SkBitmap*), SkTypefacePlayback*) /tmp/skia/out/Release/../../src/core/SkPicture.cpp:153:13 |
| #8 0x724933 in fuzz_skp(SkData*) /tmp/skia/out/Release/../../fuzz/fuzz.cpp:143:33 |
| #9 0x724074 in main /tmp/skia/out/Release/../../fuzz/fuzz.cpp:54:30 |
| #10 0x7fa6ece70ec4 in __libc_start_main /tmp/tmp.Htw1L27e9P/csu/libc-start.c:287 |
| |
| SUMMARY: AddressSanitizer: heap-buffer-overflow /tmp/skia/out/Release/../../src/core/SkReader32.h:57 SkReader32::readInt() |
| Shadow bytes around the buggy address: |
| 0x0c1a7fff99b0: fd fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd |
| 0x0c1a7fff99c0: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa |
| 0x0c1a7fff99d0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd |
| 0x0c1a7fff99e0: fd fd fd fd fd fa fa fa fa fa fa fa fa fa 00 00 |
| 0x0c1a7fff99f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 fa |
| =>0x0c1a7fff9a00:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c1a7fff9a10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c1a7fff9a20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c1a7fff9a30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c1a7fff9a40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x0c1a7fff9a50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| Shadow byte legend (one shadow byte represents 8 application bytes): |
| Addressable: 00 |
| Partially addressable: 01 02 03 04 05 06 07 |
| Heap left redzone: fa |
| Heap right redzone: fb |
| Freed heap region: fd |
| Stack left redzone: f1 |
| Stack mid redzone: f2 |
| Stack right redzone: f3 |
| Stack partial redzone: f4 |
| Stack after return: f5 |
| Stack use after scope: f8 |
| Global redzone: f9 |
| Global init order: f6 |
| Poisoned by user: f7 |
| Container overflow: fc |
| Array cookie: ac |
| Intra object redzone: bb |
| ASan internal: fe |
| Left alloca redzone: ca |
| Right alloca redzone: cb |
| ==66109==ABORTING |