| ================================================================= |
| ==9140==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000001177628 at pc 0x000000a65431 bp 0x7ffd28194d30 sp 0x7ffd28194d28 |
| READ of size 1 at 0x000001177628 thread T0 |
| #0 0xa65430 in convert_to_8(unsigned int, unsigned int) /tmp/skia/out/Debug/../../src/codec/SkMasks.cpp:54:16 |
| #1 0xa63dee in swizzle_mask24_to_n32_opaque(void*, unsigned char const*, int, SkMasks*, unsigned int, unsigned int) /tmp/skia/out/Debug/../../src/codec/SkMaskSwizzler.cpp:93:23 |
| #2 0xa5dfa6 in SkBmpMaskCodec::decodeRows(SkImageInfo const&, void*, unsigned long, SkCodec::Options const&) /tmp/skia/out/Debug/../../src/codec/SkBmpMaskCodec.cpp:103:9 |
| #3 0xc19b94 in piex::(anonymous namespace)::GetPreviewData(std::set<int, std::less<int>, std::allocator<int> > const&, unsigned int, unsigned int, piex::StreamInterface*, piex::TiffContent*, piex::PreviewImageData*) /tmp/skia/out/Debug/../../third_party/externals/piex/src/piex.cc:59:10 |
| #4 0xc19850 in piex::(anonymous namespace)::GetPreviewData(std::set<int, std::less<int>, std::allocator<int> > const&, unsigned int, piex::StreamInterface*, piex::PreviewImageData*) /tmp/skia/out/Debug/../../third_party/externals/piex/src/piex.cc:68:10 |
| #5 0x72c2dc in fuzz_img(SkData*) /tmp/skia/out/Debug/../../fuzz/fuzz.cpp:119:13 |
| #6 0x72bd09 in main /tmp/skia/out/Debug/../../fuzz/fuzz.cpp:53:30 |
| #7 0x7f4ae3494ec4 in __libc_start_main /tmp/tmp.Htw1L27e9P/csu/libc-start.c:287 |
| #8 0x68399f in _start (/tmp/executables/skcodec/analyzer0/fuzz_asan_debug+0x68399f) |
| |
| 0x000001177628 is located 24 bytes to the left of global variable '<string literal>' defined in '../../src/gpu/gl/GrGLGpu.cpp:305:17' (0x1177640) of size 16 |
| '<string literal>' is ascii string 'Disable(0x0B42)' |
| 0x000001177628 is located 35 bytes to the right of global variable '<string literal>' defined in '../../src/gpu/gl/GrGLGpu.cpp:305:17' (0x11775e0) of size 37 |
| '<string literal>' is ascii string '../../src/gpu/gl/GrGLGpu.cpp(305) : ' |
| SUMMARY: AddressSanitizer: global-buffer-overflow /tmp/skia/out/Debug/../../src/codec/SkMasks.cpp:54 convert_to_8(unsigned int, unsigned int) |
| Shadow bytes around the buggy address: |
| 0x000080226e70: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00 |
| 0x000080226e80: 05 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 |
| 0x000080226e90: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00 |
| 0x000080226ea0: 05 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 |
| 0x000080226eb0: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00 |
| =>0x000080226ec0: 05 f9 f9 f9 f9[f9]f9 f9 00 00 f9 f9 f9 f9 f9 f9 |
| 0x000080226ed0: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00 |
| 0x000080226ee0: 05 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 |
| 0x000080226ef0: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00 |
| 0x000080226f00: 05 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 |
| 0x000080226f10: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00 |
| 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 |
| ==9140==ABORTING |