blob: c4ad91e48089fc48de4ab1e3107e614171d8b388 [file] [log] [blame]
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