$ /home/xxx/dvlp/cpp/code/upp/out/CLANGcpp17asan.Debug.Debug_Full.Gui.Shared.Usemalloc/ide
=================================================================
==12862==ERROR: AddressSanitizer: heap-use-after-free on address 0x51d0000cbd60 at pc 0x55d95b40e0fd bp 0x7fff1aea7190 sp 0x7fff1aea7188
READ of size 4 at 0x51d0000cbd60 thread T0
    #0 0x55d95b40e0fc in Upp::ImageFilterKernel::Get(int, int) const /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/ImageOp.h:217:40
    #1 0x55d95b3bdc58 in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, Upp::Rect_<int> const&, double (*)(double), int, Upp::Function<bool (int, int)>, bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:162:16
    #2 0x55d95b3bf1cc in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, Upp::Rect_<int> const&, int, Upp::Function<bool (int, int)>, bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:267:9
    #3 0x55d95b3bf542 in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, int, Upp::Function<bool (int, int)>) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:272:9
    #4 0x55d95b3c6da0 in Upp::Downscale2x(Upp::Image const&) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Uhd.cpp:110:12
    #5 0x55d95b3c9234 in Upp::MakeImlImage(Upp::String const&, Upp::Function<Upp::ImageIml (int, Upp::String const&)>, unsigned int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Iml.cpp:169:14
    #6 0x55d95b35fbbf in Upp::Iml::Get(int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Iml.cpp:93:14
    #7 0x55d95a6b3cad in Upp::CtrlImg::Get(int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/iml_source.h:113:15
    #8 0x55d95a7d53ec in Upp::CtrlImg::smallup_n() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/Ctrl.iml:170:1
    #9 0x55d95a7df89c in Upp::RoundStyleArrows() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/Ch.cpp:14:35
    #10 0x55d95a809c55 in Upp::ChHostSkin() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/ChGtk3.cpp:374:4
    #11 0x55d95b54a540 in Upp::Ctrl::ReSkin() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:951:3
    #12 0x55d95b54babf in Upp::Ctrl::SetUHDEnabled(bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:794:2
    #13 0x55d95b5d77d8 in Upp::InitGtkApp(int, char**, char const**) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkApp.cpp:125:2
    #14 0x55d95a001c28 in main /home/xxx/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:178:1
    #15 0x7fdd9f223c4b in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #16 0x7fdd9f223d04 in __libc_start_main@GLIBC_2.2.5 csu/../csu/libc-start.c:360:3
    #17 0x55d959d46390 in _start /builddir/glibc-2.39/csu/../sysdeps/x86_64/start.S:115
 
0x51d0000cbd60 is located 224 bytes inside of 2052-byte region [0x51d0000cbc80,0x51d0000cc484)
freed by thread T0 here:
    #0 0x55d959e20e7d in operator delete[](void*) (/home/xxx/dvlp/cpp/code/upp/out/CLANGcpp17asan.Debug.Debug_Full.Gui.Shared.Usemalloc/ide+0x4b5e7d) (BuildId: ebfbc9b9949613ce1488cdd7402bad08dd5aab39)
    #1 0x55d95a18ee86 in Upp::MemoryFree(void*) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Heap.h:141:46
    #2 0x55d95a207d85 in Upp::Buffer<int>::Free() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Vcont.h:36:5
    #3 0x55d95a46eee8 in Upp::Buffer<int>::Clear() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Vcont.h:59:41
    #4 0x55d95a82550c in Upp::Buffer<int>::Alloc(unsigned long) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Vcont.h:56:41
    #5 0x55d95b3bc217 in Upp::ImageFilterKernel::Init(double (*)(double), int, int, int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:118:8
    #6 0x55d95b3bc670 in Upp::ImageFilterKernel::ImageFilterKernel(double (*)(double), int, int, int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:127:2
    #7 0x55d95b3bd021 in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, Upp::Rect_<int> const&, double (*)(double), int, Upp::Function<bool (int, int)>, bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:147:20
    #8 0x55d95b3bf1cc in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, Upp::Rect_<int> const&, int, Upp::Function<bool (int, int)>, bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:267:9
    #9 0x55d95b3bf542 in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, int, Upp::Function<bool (int, int)>) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:272:9
    #10 0x55d95b3c6da0 in Upp::Downscale2x(Upp::Image const&) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Uhd.cpp:110:12
    #11 0x55d95b3c9234 in Upp::MakeImlImage(Upp::String const&, Upp::Function<Upp::ImageIml (int, Upp::String const&)>, unsigned int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Iml.cpp:169:14
    #12 0x55d95b35fbbf in Upp::Iml::Get(int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Iml.cpp:93:14
    #13 0x55d95a6b3cad in Upp::CtrlImg::Get(int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/iml_source.h:113:15
    #14 0x55d95a7d53ec in Upp::CtrlImg::smallup_n() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/Ctrl.iml:170:1
    #15 0x55d95a7df89c in Upp::RoundStyleArrows() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/Ch.cpp:14:35
    #16 0x55d95a809c55 in Upp::ChHostSkin() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/ChGtk3.cpp:374:4
    #17 0x55d95b54a540 in Upp::Ctrl::ReSkin() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:951:3
    #18 0x55d95b54babf in Upp::Ctrl::SetUHDEnabled(bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:794:2
    #19 0x55d95b5d77d8 in Upp::InitGtkApp(int, char**, char const**) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkApp.cpp:125:2
    #20 0x55d95a001c28 in main /home/xxx/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:178:1
    #21 0x7fdd9f223c4b in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
 
previously allocated by thread T0 here:
    #0 0x55d959e2062d in operator new[](unsigned long) (/home/xxx/dvlp/cpp/code/upp/out/CLANGcpp17asan.Debug.Debug_Full.Gui.Shared.Usemalloc/ide+0x4b562d) (BuildId: ebfbc9b9949613ce1488cdd7402bad08dd5aab39)
    #1 0x55d95a1b1f64 in Upp::MemoryAlloc(unsigned long) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Heap.h:139:53
    #2 0x55d95a1fdd34 in Upp::Buffer<int>::Malloc(unsigned long) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Vcont.h:18:15
    #3 0x55d95a1fdca0 in Upp::Buffer<int>::New(unsigned long) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Vcont.h:26:3
    #4 0x55d95a825519 in Upp::Buffer<int>::Alloc(unsigned long) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Core/Vcont.h:56:50
    #5 0x55d95b3bc217 in Upp::ImageFilterKernel::Init(double (*)(double), int, int, int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:118:8
    #6 0x55d95b3bc670 in Upp::ImageFilterKernel::ImageFilterKernel(double (*)(double), int, int, int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:127:2
    #7 0x55d95b3bcf17 in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, Upp::Rect_<int> const&, double (*)(double), int, Upp::Function<bool (int, int)>, bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:146:20
    #8 0x55d95b3bf1cc in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, Upp::Rect_<int> const&, int, Upp::Function<bool (int, int)>, bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:267:9
    #9 0x55d95b3bf542 in Upp::RescaleFilter(Upp::Image const&, Upp::Size_<int>, int, Upp::Function<bool (int, int)>) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/RescaleFilter.cpp:272:9
    #10 0x55d95b3c6da0 in Upp::Downscale2x(Upp::Image const&) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Uhd.cpp:110:12
    #11 0x55d95b3c9234 in Upp::MakeImlImage(Upp::String const&, Upp::Function<Upp::ImageIml (int, Upp::String const&)>, unsigned int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Iml.cpp:169:14
    #12 0x55d95b35fbbf in Upp::Iml::Get(int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/Iml.cpp:93:14
    #13 0x55d95a6b3cad in Upp::CtrlImg::Get(int) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/iml_source.h:113:15
    #14 0x55d95a7d53ec in Upp::CtrlImg::smallup_n() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/Ctrl.iml:170:1
    #15 0x55d95a7df89c in Upp::RoundStyleArrows() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/Ch.cpp:14:35
    #16 0x55d95a809c55 in Upp::ChHostSkin() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/ChGtk3.cpp:374:4
    #17 0x55d95b54a540 in Upp::Ctrl::ReSkin() /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:951:3
    #18 0x55d95b54babf in Upp::Ctrl::SetUHDEnabled(bool) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:794:2
    #19 0x55d95b5d77d8 in Upp::InitGtkApp(int, char**, char const**) /home/xxx/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkApp.cpp:125:2
    #20 0x55d95a001c28 in main /home/xxx/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:178:1
    #21 0x7fdd9f223c4b in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
 
SUMMARY: AddressSanitizer: heap-use-after-free /home/xxx/dvlp/cpp/code/upp/git/uppsrc/Draw/ImageOp.h:217:40 in Upp::ImageFilterKernel::Get(int, int) const
Shadow bytes around the buggy address:
  0x51d0000cba80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x51d0000cbb00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x51d0000cbb80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x51d0000cbc00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x51d0000cbc80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x51d0000cbd00: fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd
  0x51d0000cbd80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x51d0000cbe00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x51d0000cbe80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x51d0000cbf00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x51d0000cbf80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
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
==12862==ABORTING
