Indigo icon indicating copy to clipboard operation
Indigo copied to clipboard

core: minor nemory leak in indigoLoadQueryMolecule

Open mkviatkovskii opened this issue 3 years ago • 0 comments

Could be reproduced this way:

mkdir build
cd build
cmake ..
cmake --build .  --target indigo-cpp-unit-tests -- -j $(nproc)
valgrind --leak-check=full --track-origins=yes .bin/indigo-cpp-unit-tests --gtest_filter=Basic.LoadQueryMolecule

Result:

==14946== HEAP SUMMARY:
==14946==     in use at exit: 104 bytes in 2 blocks
==14946==   total heap usage: 1,604 allocs, 1,602 frees, 210,511 bytes allocated
==14946== 
==14946== 104 (72 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 2 of 2
==14946==    at 0x4842FB3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==14946==    by 0x4FDE514: indigo::QueryMolecule::Atom::_neu() (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4FDE752: indigo::QueryMolecule::Node::_nicht(indigo::QueryMolecule::Node*) (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4FF0D33: indigo::SmilesLoader::_readAtom(indigo::Array<char>&, bool, indigo::SmilesLoader::_AtomDesc&, std::unique_ptr<indigo::QueryMolecule::Atom, std::default_delete<indigo::QueryMolecule::Atom> >&) (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4FF17F8: indigo::SmilesLoader::_parseMolecule() (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4FF2CA3: indigo::SmilesLoader::_loadMolecule() (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4EF0918: indigo::MoleculeAutoLoader::_loadMolecule(indigo::BaseMolecule&, bool) (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4DC5034: indigoLoadQueryMolecule (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x4DA345C: indigoLoadQueryMoleculeFromString (in /home/user/indigo/build-debug/bin/libindigo.so)
==14946==    by 0x11F731: indigo_cpp::IndigoSession::loadQueryMolecule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (in /home/user/indigo/build-debug/bin/indigo-cpp-unit-tests)
==14946==    by 0x11B7D9: Basic_LoadQueryMolecule_Test::TestBody() (in /home/user/indigo/build-debug/bin/indigo-cpp-unit-tests)
==14946==    by 0x153370: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/user/indigo/build-debug/bin/indigo-cpp-unit-tests)

mkviatkovskii avatar Sep 20 '21 13:09 mkviatkovskii