==13137==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f0c3e00c2c4 at pc 0x555e3a00f893 bp 0x7ffdffde98a0 sp 0x7ffdffde9890 READ of size 16 at 0x7f0c3e00c2c4 thread T0 #0 0x555e3a00f892 in _mm_loadu_si128(long long __vector(2) const*) /usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:703 #1 0x555e3a00f892 in void AGS3::drawPixelSIMD<4, 4>(unsigned char*, unsigned char const*, long long __vector(2), long long __vector(2), long long __vector(2), long long __vector(2), int, int, int, int, bool, bool, long long __vector(2)) engines/ags/lib/allegro/surface_sse2.cpp:403 #2 0x555e39ffe05b in void AGS3::DrawInnerImpl::drawInner4BppWithConv<4, 4, false>(AGS3::BITMAP::DrawInnerArgs&) engines/ags/lib/allegro/surface_sse2.cpp:597 #3 0x555e3a018171 in void AGS3::BITMAP::drawAVX2(AGS3::BITMAP::DrawInnerArgs&) engines/ags/lib/allegro/surface_avx2.cpp:957 #4 0x555e399696a8 in AGS3::BITMAP::draw(AGS3::BITMAP const*, Common::Rect const&, int, int, bool, bool, bool, int, int, int, int) engines/ags/lib/allegro/surface.cpp:194 #5 0x555e3995e873 in AGS3::draw_sprite(AGS3::BITMAP*, AGS3::BITMAP const*, int, int) engines/ags/lib/allegro/gfx.cpp:136 #6 0x555e39a43163 in AGS3::AGS::Shared::Bitmap::Blit(AGS3::AGS::Shared::Bitmap*, int, int, AGS3::AGS::Shared::BitmapMaskOption) engines/ags/shared/gfx/allegro_bitmap.cpp:203 #7 0x555e39d6205e in AGS3::AGS::Engine::GfxUtil::DrawSpriteWithTransparency(AGS3::AGS::Shared::Bitmap*, AGS3::AGS::Shared::Bitmap*, int, int, int) engines/ags/engine/gfx/gfx_util.cpp:143 #8 0x555e39d9af9e in AGS3::AGS::Engine::ALSW::ScummVMRendererGraphicsDriver::RenderSpriteBatch(AGS3::AGS::Engine::ALSW::ALSpriteBatch const&, unsigned long, AGS3::AGS::Shared::Bitmap*, int, int) engines/ags/engine/gfx/ali_3d_scummvm.cpp:497 #9 0x555e39d9a3ef in AGS3::AGS::Engine::ALSW::ScummVMRendererGraphicsDriver::RenderToBackBuffer() engines/ags/engine/gfx/ali_3d_scummvm.cpp:420 #10 0x555e39d9ca50 in AGS3::AGS::Engine::ALSW::ScummVMRendererGraphicsDriver::Render(int, int, AGS3::AGS::Shared::GraphicFlip) engines/ags/engine/gfx/ali_3d_scummvm.cpp:635 #11 0x555e39ad6058 in AGS3::render_to_screen() engines/ags/engine/ac/draw.cpp:717 #12 0x555e39af6d1a in AGS3::render_graphics(AGS3::AGS::Engine::IDriverDependantBitmap*, int, int) engines/ags/engine/ac/draw.cpp:2421 #13 0x555e39dd328d in AGS3::UpdateGameOnce(bool, AGS3::AGS::Engine::IDriverDependantBitmap*, int, int) engines/ags/engine/main/game_run.cpp:856 #14 0x555e39dd4819 in GameTick engines/ags/engine/main/game_run.cpp:1008 #15 0x555e39dd52de in AGS3::RunGameUntilAborted() engines/ags/engine/main/game_run.cpp:1102 #16 0x555e39dd6fa0 in AGS3::initialize_start_and_play_game(int, int) engines/ags/engine/main/game_start.cpp:129 #17 0x555e39d944e3 in AGS3::initialize_engine(AGS3::std::map >, Common::Less > const&) engines/ags/engine/main/engine.cpp:1180 #18 0x555e39922b37 in AGS::AGSEngine::run() engines/ags/ags.cpp:204 #19 0x555e398d2362 in runGame base/main.cpp:324 #20 0x555e398d7688 in scummvm_main base/main.cpp:764 #21 0x555e398cab43 in main backends/platform/sdl/posix/posix-main.cpp:44 #22 0x7f0c50c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #23 0x7f0c50c29e3f in __libc_start_main_impl ../csu/libc-start.c:392 #24 0x555e3981ecb4 in _start (/home/antoniou/Workspace/scummvm-official/scummvm+0x1408cb4) 0x7f0c3e00c2c4 is located 708 bytes to the right of 256000-byte region [0x7f0c3dfcd800,0x7f0c3e00c000) allocated by thread T0 here: #0 0x7f0c52ab4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154 #1 0x555e3a688fdc in Graphics::Surface::create(short, short, Graphics::PixelFormat const&) graphics/surface.cpp:78 #2 0x555e3a6162ee in Graphics::ManagedSurface::create(short, short, Graphics::PixelFormat const&) graphics/managed_surface.cpp:153 #3 0x555e3a614a8f in Graphics::ManagedSurface::ManagedSurface(int, int, Graphics::PixelFormat const&) graphics/managed_surface.cpp:60 #4 0x555e3996d58e in AGS3::Surface::Surface(int, int, Graphics::PixelFormat const&) engines/ags/lib/allegro/surface.h:328 #5 0x555e3996affe in AGS3::create_bitmap_ex(int, int, int) engines/ags/lib/allegro/surface.cpp:342 #6 0x555e39a41904 in AGS3::AGS::Shared::Bitmap::Create(int, int, int) engines/ags/shared/gfx/allegro_bitmap.cpp:70 #7 0x555e39a41770 in AGS3::AGS::Shared::Bitmap::Bitmap(int, int, int) engines/ags/shared/gfx/allegro_bitmap.cpp:44 #8 0x555e39d976b7 in AGS3::AGS::Engine::ALSW::ScummVMRendererGraphicsDriver::CreateVirtualScreen() engines/ags/engine/gfx/ali_3d_scummvm.cpp:155 #9 0x555e39d97b3f in AGS3::AGS::Engine::ALSW::ScummVMRendererGraphicsDriver::SetNativeResolution(AGS3::AGS::Engine::GraphicResolution const&) engines/ags/engine/gfx/ali_3d_scummvm.cpp:180 #10 0x555e39dddfc3 in AGS3::graphics_mode_set_native_res(AGS3::AGS::Engine::GraphicResolution const&) engines/ags/engine/main/graphics_mode.cpp:508 #11 0x555e39dd9e3f in try_init_mode_using_setup engines/ags/engine/main/graphics_mode.cpp:263 #12 0x555e39ddaade in AGS3::create_gfx_driver_and_init_mode_any(AGS3::AGS::Shared::String const&, AGS3::AGS::Engine::GraphicResolution const&, AGS3::DisplayModeSetup const&, AGS3::ColorDepthOption const&) engines/ags/engine/main/graphics_mode.cpp:314 #13 0x555e39ddbcf9 in AGS3::graphics_mode_init_any(AGS3::AGS::Engine::GraphicResolution const&, AGS3::DisplayModeSetup const&, AGS3::ColorDepthOption const&) engines/ags/engine/main/graphics_mode.cpp:414 #14 0x555e39d948c4 in AGS3::engine_try_set_gfxmode_any(AGS3::DisplayModeSetup const&) engines/ags/engine/main/engine.cpp:1191 #15 0x555e39d94343 in AGS3::initialize_engine(AGS3::std::map >, Common::Less > const&) engines/ags/engine/main/engine.cpp:1160 #16 0x555e39922b37 in AGS::AGSEngine::run() engines/ags/ags.cpp:204 #17 0x555e398d2362 in runGame base/main.cpp:324 #18 0x555e398d7688 in scummvm_main base/main.cpp:764 #19 0x555e398cab43 in main backends/platform/sdl/posix/posix-main.cpp:44 #20 0x7f0c50c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 SUMMARY: AddressSanitizer: heap-buffer-overflow /usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:703 in _mm_loadu_si128(long long __vector(2) const*) Shadow bytes around the buggy address: 0x0fe207bf9800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9810: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9820: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9830: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9840: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x0fe207bf9850: fa fa fa fa fa fa fa fa[fa]fa fa fa fa fa fa fa 0x0fe207bf9860: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9870: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf9890: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fe207bf98a0: 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 Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 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 Shadow gap: cc ==13137==ABORTING