Description of problem: I found few memory related bugs as part preparing reproducer for BZ1628056. Version-Release number of selected component (if applicable): sh$ rpm -q dnf libdnf python3-libdnf dnf-3.5.1-1.fc30.noarch libdnf-0.19.1-1.fc30.x86_64 python3-libdnf-0.19.1-1.fc30.x86_64 How reproducible: Deterministic Steps to Reproduce: 1. dnf install -y valgrind dnf-plugins-core 2. dnf debuginfo-install glibc libdnf python3-libdnf 3. valgrind dnf update -y Actual results: ==92== Memcheck, a memory error detector ==92== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==92== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==92== Command: /usr/bin/dnf update -y ==92== ==92== Invalid read of size 1 ==92== at 0x483B8C6: __strlen_sse2 (vg_replace_strmem.c:460) ==92== by 0x6E4B918: length (char_traits.h:320) ==92== by 0x6E4B918: append (basic_string.h:1257) ==92== by 0x6E4B918: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*) (basic_string.h:6021) ==92== by 0x6DF5636: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5636: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x620e050 is 0 bytes inside a block of size 69 free'd ==92== at 0x4839EFC: operator delete(void*) (vg_replace_malloc.c:576) ==92== by 0x6FB6684: UnknownInlinedFun (new_allocator.h:125) ==92== by 0x6FB6684: UnknownInlinedFun (alloc_traits.h:462) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:226) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:221) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:657) ==92== by 0x6FB6684: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x4838E86: operator new(unsigned long) (vg_replace_malloc.c:334) ==92== by 0x6F301BC: UnknownInlinedFun (basic_string.tcc:317) ==92== by 0x6F301BC: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) (basic_string.tcc:466) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1923) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:2112) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1462) ==92== by 0x6FB722D: str (sstream:174) ==92== by 0x6FB722D: str (sstream:639) ==92== by 0x6FB722D: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > tinyformat::format<char const*>(char const*, char const* const&) (tinyformat.hpp:1084) ==92== by 0x6FB666E: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== ==92== Invalid read of size 1 ==92== at 0x483B8D4: __strlen_sse2 (vg_replace_strmem.c:460) ==92== by 0x6E4B918: length (char_traits.h:320) ==92== by 0x6E4B918: append (basic_string.h:1257) ==92== by 0x6E4B918: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*) (basic_string.h:6021) ==92== by 0x6DF5636: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5636: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x620e051 is 1 bytes inside a block of size 69 free'd ==92== at 0x4839EFC: operator delete(void*) (vg_replace_malloc.c:576) ==92== by 0x6FB6684: UnknownInlinedFun (new_allocator.h:125) ==92== by 0x6FB6684: UnknownInlinedFun (alloc_traits.h:462) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:226) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:221) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:657) ==92== by 0x6FB6684: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x4838E86: operator new(unsigned long) (vg_replace_malloc.c:334) ==92== by 0x6F301BC: UnknownInlinedFun (basic_string.tcc:317) ==92== by 0x6F301BC: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) (basic_string.tcc:466) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1923) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:2112) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1462) ==92== by 0x6FB722D: str (sstream:174) ==92== by 0x6FB722D: str (sstream:639) ==92== by 0x6FB722D: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > tinyformat::format<char const*>(char const*, char const* const&) (tinyformat.hpp:1084) ==92== by 0x6FB666E: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== ==92== Invalid read of size 2 ==92== at 0x483CCA0: memcpy.5 (vg_replace_strmem.c:1021) ==92== by 0x6E4B87F: copy (char_traits.h:350) ==92== by 0x6E4B87F: _S_copy (basic_string.h:340) ==92== by 0x6E4B87F: _M_mutate (basic_string.tcc:322) ==92== by 0x6E4B87F: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) (basic_string.tcc:370) ==92== by 0x6E4B939: append (basic_string.h:1259) ==92== by 0x6E4B939: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*) (basic_string.h:6021) ==92== by 0x6DF5636: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5636: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x620e050 is 0 bytes inside a block of size 69 free'd ==92== at 0x4839EFC: operator delete(void*) (vg_replace_malloc.c:576) ==92== by 0x6FB6684: UnknownInlinedFun (new_allocator.h:125) ==92== by 0x6FB6684: UnknownInlinedFun (alloc_traits.h:462) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:226) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:221) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:657) ==92== by 0x6FB6684: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x4838E86: operator new(unsigned long) (vg_replace_malloc.c:334) ==92== by 0x6F301BC: UnknownInlinedFun (basic_string.tcc:317) ==92== by 0x6F301BC: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) (basic_string.tcc:466) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1923) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:2112) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1462) ==92== by 0x6FB722D: str (sstream:174) ==92== by 0x6FB722D: str (sstream:639) ==92== by 0x6FB722D: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > tinyformat::format<char const*>(char const*, char const* const&) (tinyformat.hpp:1084) ==92== by 0x6FB666E: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== ==92== Invalid read of size 2 ==92== at 0x483CCAF: memcpy.5 (vg_replace_strmem.c:1021) ==92== by 0x6E4B87F: copy (char_traits.h:350) ==92== by 0x6E4B87F: _S_copy (basic_string.h:340) ==92== by 0x6E4B87F: _M_mutate (basic_string.tcc:322) ==92== by 0x6E4B87F: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) (basic_string.tcc:370) ==92== by 0x6E4B939: append (basic_string.h:1259) ==92== by 0x6E4B939: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*) (basic_string.h:6021) ==92== by 0x6DF5636: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5636: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x620e054 is 4 bytes inside a block of size 69 free'd ==92== at 0x4839EFC: operator delete(void*) (vg_replace_malloc.c:576) ==92== by 0x6FB6684: UnknownInlinedFun (new_allocator.h:125) ==92== by 0x6FB6684: UnknownInlinedFun (alloc_traits.h:462) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:226) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:221) ==92== by 0x6FB6684: UnknownInlinedFun (basic_string.h:657) ==92== by 0x6FB6684: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x4838E86: operator new(unsigned long) (vg_replace_malloc.c:334) ==92== by 0x6F301BC: UnknownInlinedFun (basic_string.tcc:317) ==92== by 0x6F301BC: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) (basic_string.tcc:466) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1923) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:2112) ==92== by 0x6FB722D: UnknownInlinedFun (basic_string.h:1462) ==92== by 0x6FB722D: str (sstream:174) ==92== by 0x6FB722D: str (sstream:639) ==92== by 0x6FB722D: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > tinyformat::format<char const*>(char const*, char const* const&) (tinyformat.hpp:1084) ==92== by 0x6FB666E: libdnf::OptionBinds::OutOfRange::what() const (Config.cpp:72) ==92== by 0x6DF5611: _wrap_OptionBinds_at__SWIG_0 (confPYTHON_wrap.cxx:24613) ==92== by 0x6DF5611: _wrap_OptionBinds_at.cold.722 (confPYTHON_wrap.cxx:24700) ==92== by 0x4B43FB2: PyCFunction_Call (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE3F82: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE2AF8: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== Last metadata expiration check: 0:08:01 ago on Wed 12 Sep 2018 07:08:38 AM UTC. ==92== Invalid read of size 1 ==92== at 0x483B8C6: __strlen_sse2 (vg_replace_strmem.c:460) ==92== by 0x6FCAFD3: libdnf::copyFilterChar(char const*, int) (query.cpp:509) ==92== by 0x6FCE34E: libdnf::Filter::Filter(int, int, char const**) (query.cpp:599) ==92== by 0x6FD058E: libdnf::Query::addFilter(int, int, char const**) (query.cpp:868) ==92== by 0x9ED8CE3: filter_add (query-py.cpp:371) ==92== by 0x9ED8CE3: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x5b2c570 is 32 bytes inside a block of size 36 free'd ==92== at 0x4839A0C: free (vg_replace_malloc.c:530) ==92== by 0x9ED3C9B: pySequenceConverter(_object*) (iutil-py.cpp:292) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD9FB: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x483880B: malloc (vg_replace_malloc.c:299) ==92== by 0x4B05047: PyObject_Malloc (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B5BB36: PyBytes_FromStringAndSize (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B1970C: PyUnicode_AsEncodedString (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x9EDD7B2: pycomp_get_string_from_unicode (pycomp.cpp:31) ==92== by 0x9EDD7B2: PycompString::PycompString(_object*) (pycomp.cpp:43) ==92== by 0x9ED3BD7: pySequenceConverter(_object*) (iutil-py.cpp:298) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== ==92== Invalid read of size 1 ==92== at 0x483B8D4: __strlen_sse2 (vg_replace_strmem.c:460) ==92== by 0x6FCAFD3: libdnf::copyFilterChar(char const*, int) (query.cpp:509) ==92== by 0x6FCE34E: libdnf::Filter::Filter(int, int, char const**) (query.cpp:599) ==92== by 0x6FD058E: libdnf::Query::addFilter(int, int, char const**) (query.cpp:868) ==92== by 0x9ED8CE3: filter_add (query-py.cpp:371) ==92== by 0x9ED8CE3: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x5b2c571 is 33 bytes inside a block of size 36 free'd ==92== at 0x4839A0C: free (vg_replace_malloc.c:530) ==92== by 0x9ED3C9B: pySequenceConverter(_object*) (iutil-py.cpp:292) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD9FB: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x483880B: malloc (vg_replace_malloc.c:299) ==92== by 0x4B05047: PyObject_Malloc (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B5BB36: PyBytes_FromStringAndSize (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B1970C: PyUnicode_AsEncodedString (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x9EDD7B2: pycomp_get_string_from_unicode (pycomp.cpp:31) ==92== by 0x9EDD7B2: PycompString::PycompString(_object*) (pycomp.cpp:43) ==92== by 0x9ED3BD7: pySequenceConverter(_object*) (iutil-py.cpp:298) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== ==92== Invalid read of size 1 ==92== at 0x483B9B4: strcpy (vg_replace_strmem.c:510) ==92== by 0x6FCB004: UnknownInlinedFun (string_fortified.h:90) ==92== by 0x6FCB004: libdnf::copyFilterChar(char const*, int) (query.cpp:516) ==92== by 0x6FCE34E: libdnf::Filter::Filter(int, int, char const**) (query.cpp:599) ==92== by 0x6FD058E: libdnf::Query::addFilter(int, int, char const**) (query.cpp:868) ==92== by 0x9ED8CE3: filter_add (query-py.cpp:371) ==92== by 0x9ED8CE3: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x5b2c570 is 32 bytes inside a block of size 36 free'd ==92== at 0x4839A0C: free (vg_replace_malloc.c:530) ==92== by 0x9ED3C9B: pySequenceConverter(_object*) (iutil-py.cpp:292) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD9FB: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x483880B: malloc (vg_replace_malloc.c:299) ==92== by 0x4B05047: PyObject_Malloc (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B5BB36: PyBytes_FromStringAndSize (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B1970C: PyUnicode_AsEncodedString (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x9EDD7B2: pycomp_get_string_from_unicode (pycomp.cpp:31) ==92== by 0x9EDD7B2: PycompString::PycompString(_object*) (pycomp.cpp:43) ==92== by 0x9ED3BD7: pySequenceConverter(_object*) (iutil-py.cpp:298) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== ==92== Invalid read of size 1 ==92== at 0x483B9D3: strcpy (vg_replace_strmem.c:510) ==92== by 0x6FCB004: UnknownInlinedFun (string_fortified.h:90) ==92== by 0x6FCB004: libdnf::copyFilterChar(char const*, int) (query.cpp:516) ==92== by 0x6FCE34E: libdnf::Filter::Filter(int, int, char const**) (query.cpp:599) ==92== by 0x6FD058E: libdnf::Query::addFilter(int, int, char const**) (query.cpp:868) ==92== by 0x9ED8CE3: filter_add (query-py.cpp:371) ==92== by 0x9ED8CE3: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Address 0x5b2c571 is 33 bytes inside a block of size 36 free'd ==92== at 0x4839A0C: free (vg_replace_malloc.c:530) ==92== by 0x9ED3C9B: pySequenceConverter(_object*) (iutil-py.cpp:292) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B1B0: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD840: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6B009: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BDD9FB: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== Block was alloc'd at ==92== at 0x483880B: malloc (vg_replace_malloc.c:299) ==92== by 0x4B05047: PyObject_Malloc (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B5BB36: PyBytes_FromStringAndSize (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B1970C: PyUnicode_AsEncodedString (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x9EDD7B2: pycomp_get_string_from_unicode (pycomp.cpp:31) ==92== by 0x9EDD7B2: PycompString::PycompString(_object*) (pycomp.cpp:43) ==92== by 0x9ED3BD7: pySequenceConverter(_object*) (iutil-py.cpp:298) ==92== by 0x9ED8CC7: filter_add (query-py.cpp:367) ==92== by 0x9ED8CC7: filter_internal(libdnf::Query*, libdnf::Selector*, _object*, _object*, _object*) (query-py.cpp:475) ==92== by 0x9ED90EC: filterm(_QueryObject*, _object*, _object*) (query-py.cpp:521) ==92== by 0x4B6B9BD: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B6BA1F: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4BE36F2: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0) ==92== by 0x4B236C7: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0) ==92== Dependencies resolved. Nothing to do. Complete! ==92== ==92== HEAP SUMMARY: ==92== in use at exit: 6,186,882 bytes in 80,991 blocks ==92== total heap usage: 1,612,766 allocs, 1,531,775 frees, 6,892,216,568 bytes allocated ==92== ==92== LEAK SUMMARY: ==92== definitely lost: 240 bytes in 5 blocks ==92== indirectly lost: 0 bytes in 0 blocks ==92== possibly lost: 3,450,811 bytes in 55,910 blocks ==92== still reachable: 2,635,863 bytes in 24,257 blocks ==92== of which reachable via heuristic: ==92== newarray : 1,536 bytes in 16 blocks ==92== suppressed: 0 bytes in 0 blocks ==92== Rerun with --leak-check=full to see details of leaked memory ==92== ==92== For counts of detected and suppressed errors, rerun with: -v ==92== Use --track-origins=yes to see where uninitialised values come from ==92== ERROR SUMMARY: 3759 errors from 11 contexts (suppressed: 0 from 0) Expected results: // no dnf related valgrind errors Additional info:
PR: https://github.com/rpm-software-management/libdnf/pull/586