joe@joe-ubuntu-vm:~/Repos/gmic/src$ valgrind --leak-check=full --track-origins=yes ./gmic -input treesmall.png -souphead_droste10 40,100,1,1,1,0,0,0,0,0,1,10,1,0,90,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0 -output output-treesmall.png ==6644== Memcheck, a memory error detector ==6644== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==6644== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==6644== Command: ./gmic -input treesmall.png -souphead_droste10 40,100,1,1,1,0,0,0,0,0,1,10,1,0,90,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0 -output output-treesmall.png ==6644== [gmic]./ Start G'MIC interpreter (v.3.3.6). [gmic]./ Input file 'treesmall.png' at position 0 (1 image 200x200x1x4). [gmic]./ Output image [0] as png file 'output-treesmall.png' (1 image 200x200x1x4). [gmic]./ End G'MIC interpreter. ==6644== ==6644== HEAP SUMMARY: ==6644== in use at exit: 194,016 bytes in 1,961 blocks ==6644== total heap usage: 602,407 allocs, 600,446 frees, 678,005,888 bytes allocated ==6644== ==6644== 5,520 bytes in 15 blocks are possibly lost in loss record 105 of 114 ==6644== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==6644== by 0x40147D9: calloc (rtld-malloc.h:44) ==6644== by 0x40147D9: allocate_dtv (dl-tls.c:375) ==6644== by 0x40147D9: _dl_allocate_tls (dl-tls.c:634) ==6644== by 0x55067B4: allocate_stack (allocatestack.c:430) ==6644== by 0x55067B4: pthread_create@@GLIBC_2.34 (pthread_create.c:647) ==6644== by 0x4CB825F: ??? (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0) ==6644== by 0x4CAEA10: GOMP_parallel (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0) ==6644== by 0x6932A1: gmic_library::gmic_image::_fill(char const*, bool, unsigned int, gmic_library::gmic_list*, char const*, gmic_library::gmic_image const*, gmic_library::gmic_image*) (CImg.h:33819) ==6644== by 0x305279: gmic_fill (gmic.cpp:1695) ==6644== by 0x305279: gmic& gmic::_run(gmic_library::gmic_list const&, unsigned int&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, unsigned int const*, bool*, char const*, gmic_library::gmic_image const*, bool) [clone .isra.0] (gmic.cpp:7631) ==6644== by 0x2F83A5: gmic& gmic::_run(gmic_library::gmic_list const&, unsigned int&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, unsigned int const*, bool*, char const*, gmic_library::gmic_image const*, bool) [clone .isra.0] (gmic.cpp:8534) ==6644== by 0x309592: gmic& gmic::_run(gmic_library::gmic_list const&, unsigned int&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, unsigned int const*, bool*, char const*, gmic_library::gmic_image const*, bool) [clone .isra.0] (gmic.cpp:13762) ==6644== by 0x309592: gmic& gmic::_run(gmic_library::gmic_list const&, unsigned int&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, gmic_library::gmic_list&, unsigned int const*, bool*, char const*, gmic_library::gmic_image const*, bool) [clone .isra.0] (gmic.cpp:13762) ==6644== by 0x36224C: gmic& gmic::_run(gmic_library::gmic_list const&, gmic_library::gmic_list&, gmic_library::gmic_list&, bool) [clone .isra.0] (gmic.cpp:4958) ==6644== by 0x722A4E: gmic& gmic::run(char const*, gmic_library::gmic_list&, gmic_library::gmic_list&) (gmic.cpp:4932) ==6644== ==6644== LEAK SUMMARY: ==6644== definitely lost: 0 bytes in 0 blocks ==6644== indirectly lost: 0 bytes in 0 blocks ==6644== possibly lost: 5,520 bytes in 15 blocks ==6644== still reachable: 188,496 bytes in 1,946 blocks ==6644== suppressed: 0 bytes in 0 blocks ==6644== Reachable blocks (those to which a pointer was found) are not shown. ==6644== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==6644== ==6644== For lists of detected and suppressed errors, rerun with: -s ==6644== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)