Index: fuzzer/go/frontend/data/testdata/stacktrace/2bad_release.asan |
diff --git a/fuzzer/go/frontend/data/testdata/stacktrace/2bad_release.asan b/fuzzer/go/frontend/data/testdata/stacktrace/2bad_release.asan |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c4ad91e48089fc48de4ab1e3107e614171d8b388 |
--- /dev/null |
+++ b/fuzzer/go/frontend/data/testdata/stacktrace/2bad_release.asan |
@@ -0,0 +1,64 @@ |
+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 |