Skip to content

Instantly share code, notes, and snippets.

@addaleax

addaleax/test.c Secret

Last active March 24, 2022 12:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save addaleax/993e80036cf54231f7d65a037e818de6 to your computer and use it in GitHub Desktop.
Save addaleax/993e80036cf54231f7d65a037e818de6 to your computer and use it in GitHub Desktop.
#include <dlfcn.h>
#include <stdlib.h>
#include <stdio.h>
typedef struct mongo_csfle_v1_lib mongo_csfle_v1_lib;
typedef struct mongo_csfle_v1_status mongo_csfle_v1_status;
int main() {
void* handle = dlopen("./lib/mongo_csfle_v1.so", RTLD_LAZY | RTLD_LOCAL);
if (handle == NULL) {
fprintf(stderr, "could not load shared library\n");
exit(1);
}
mongo_csfle_v1_lib* (*lib_create)(mongo_csfle_v1_status* status)
= (mongo_csfle_v1_lib*(*)(mongo_csfle_v1_status*))
dlsym(handle, "mongo_csfle_v1_lib_create");
mongo_csfle_v1_lib* lib = lib_create(NULL);
#if 0 /* enable this section to avoid crash */
int (*lib_destroy)(mongo_csfle_v1_lib* lib, mongo_csfle_v1_status* status)
= (int(*)(mongo_csfle_v1_lib*, mongo_csfle_v1_status*))
dlsym(handle, "mongo_csfle_v1_lib_destroy");
lib_destroy(lib, NULL);
#endif
exit(0); /* optional, you can omit this line */
}
==14554== Memcheck, a memory error detector
==14554== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==14554== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==14554== Command: ./test
==14554==
==14554== Invalid read of size 8
==14554== at 0x65C40A0: std::__detail::_List_node_base::_M_unhook() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629D9E3: std::_Function_handler<void (mongo::DeinitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::DeinitializerContext*)#3}>::_M_invoke(std::_Any_data const&, mongo::DeinitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6448: mongo::Initializer::executeDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B64A8: mongo::runGlobalDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DFD20: std::unique_ptr<mongo_csfle_v1_lib, std::default_delete<mongo_csfle_v1_lib> >::~unique_ptr() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Address 0x7b1cea0 is 0 bytes inside a block of size 80 free'd
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x62A139B: std::__cxx11::list<mongo::ServiceContext::ConstructorDestructorActions, std::allocator<mongo::ServiceContext::ConstructorDestructorActions> >::~list() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Block was alloc'd at
==14554== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x65B8817: operator new(unsigned long) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629E1A9: std::_Function_handler<void (mongo::InitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::InitializerContext*)#2}>::_M_invoke(std::_Any_data const&, mongo::InitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6C56: mongo::Initializer::executeInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B70BC: mongo::runGlobalInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DB5AA: mongo_csfle_v1_lib_create (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x1091CB: main (in /tmp/p/test)
==14554==
==14554== Invalid read of size 8
==14554== at 0x65C40A3: std::__detail::_List_node_base::_M_unhook() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629D9E3: std::_Function_handler<void (mongo::DeinitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::DeinitializerContext*)#3}>::_M_invoke(std::_Any_data const&, mongo::DeinitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6448: mongo::Initializer::executeDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B64A8: mongo::runGlobalDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DFD20: std::unique_ptr<mongo_csfle_v1_lib, std::default_delete<mongo_csfle_v1_lib> >::~unique_ptr() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Address 0x7b1cea8 is 8 bytes inside a block of size 80 free'd
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x62A139B: std::__cxx11::list<mongo::ServiceContext::ConstructorDestructorActions, std::allocator<mongo::ServiceContext::ConstructorDestructorActions> >::~list() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Block was alloc'd at
==14554== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x65B8817: operator new(unsigned long) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629E1A9: std::_Function_handler<void (mongo::InitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::InitializerContext*)#2}>::_M_invoke(std::_Any_data const&, mongo::InitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6C56: mongo::Initializer::executeInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B70BC: mongo::runGlobalInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DB5AA: mongo_csfle_v1_lib_create (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x1091CB: main (in /tmp/p/test)
==14554==
==14554== Invalid write of size 8
==14554== at 0x65C40A7: std::__detail::_List_node_base::_M_unhook() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629D9E3: std::_Function_handler<void (mongo::DeinitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::DeinitializerContext*)#3}>::_M_invoke(std::_Any_data const&, mongo::DeinitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6448: mongo::Initializer::executeDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B64A8: mongo::runGlobalDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DFD20: std::unique_ptr<mongo_csfle_v1_lib, std::default_delete<mongo_csfle_v1_lib> >::~unique_ptr() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Address 0x798f780 is 0 bytes inside a block of size 80 free'd
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x62A139B: std::__cxx11::list<mongo::ServiceContext::ConstructorDestructorActions, std::allocator<mongo::ServiceContext::ConstructorDestructorActions> >::~list() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Block was alloc'd at
==14554== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x65B8817: operator new(unsigned long) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629E1A9: std::_Function_handler<void (mongo::InitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::InitializerContext*)#2}>::_M_invoke(std::_Any_data const&, mongo::InitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6C56: mongo::Initializer::executeInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B70BC: mongo::runGlobalInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DB5AA: mongo_csfle_v1_lib_create (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x1091CB: main (in /tmp/p/test)
==14554==
==14554== Invalid read of size 8
==14554== at 0x629D9E4: std::_Function_handler<void (mongo::DeinitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::DeinitializerContext*)#3}>::_M_invoke(std::_Any_data const&, mongo::DeinitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6448: mongo::Initializer::executeDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B64A8: mongo::runGlobalDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DFD20: std::unique_ptr<mongo_csfle_v1_lib, std::default_delete<mongo_csfle_v1_lib> >::~unique_ptr() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Address 0x7b1cee0 is 64 bytes inside a block of size 80 free'd
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x62A139B: std::__cxx11::list<mongo::ServiceContext::ConstructorDestructorActions, std::allocator<mongo::ServiceContext::ConstructorDestructorActions> >::~list() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Block was alloc'd at
==14554== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x65B8817: operator new(unsigned long) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629E1A9: std::_Function_handler<void (mongo::InitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::InitializerContext*)#2}>::_M_invoke(std::_Any_data const&, mongo::InitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6C56: mongo::Initializer::executeInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B70BC: mongo::runGlobalInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DB5AA: mongo_csfle_v1_lib_create (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x1091CB: main (in /tmp/p/test)
==14554==
==14554== Invalid read of size 8
==14554== at 0x629D9FB: std::_Function_handler<void (mongo::DeinitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::DeinitializerContext*)#3}>::_M_invoke(std::_Any_data const&, mongo::DeinitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6448: mongo::Initializer::executeDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B64A8: mongo::runGlobalDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DFD20: std::unique_ptr<mongo_csfle_v1_lib, std::default_delete<mongo_csfle_v1_lib> >::~unique_ptr() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Address 0x7b1cec0 is 32 bytes inside a block of size 80 free'd
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x62A139B: std::__cxx11::list<mongo::ServiceContext::ConstructorDestructorActions, std::allocator<mongo::ServiceContext::ConstructorDestructorActions> >::~list() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Block was alloc'd at
==14554== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x65B8817: operator new(unsigned long) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629E1A9: std::_Function_handler<void (mongo::InitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::InitializerContext*)#2}>::_M_invoke(std::_Any_data const&, mongo::InitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6C56: mongo::Initializer::executeInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B70BC: mongo::runGlobalInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DB5AA: mongo_csfle_v1_lib_create (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x1091CB: main (in /tmp/p/test)
==14554==
==14554== Invalid free() / delete / delete[] / realloc()
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x63B6448: mongo::Initializer::executeDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B64A8: mongo::runGlobalDeinitializers() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DFD20: std::unique_ptr<mongo_csfle_v1_lib, std::default_delete<mongo_csfle_v1_lib> >::~unique_ptr() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Address 0x7b1cea0 is 0 bytes inside a block of size 80 free'd
==14554== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x62A139B: std::__cxx11::list<mongo::ServiceContext::ConstructorDestructorActions, std::allocator<mongo::ServiceContext::ConstructorDestructorActions> >::~list() (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x48B68D6: __run_exit_handlers (exit.c:108)
==14554== by 0x48B6A8F: exit (exit.c:139)
==14554== by 0x1091D5: main (in /tmp/p/test)
==14554== Block was alloc'd at
==14554== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==14554== by 0x65B8817: operator new(unsigned long) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x629E1A9: std::_Function_handler<void (mongo::InitializerContext*), mongo::ServiceContext::ConstructorActionRegisterer::ConstructorActionRegisterer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::function<void (mongo::ServiceContext*)>, std::function<void (mongo::ServiceContext*)>)::{lambda(mongo::InitializerContext*)#2}>::_M_invoke(std::_Any_data const&, mongo::InitializerContext*&&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B6C56: mongo::Initializer::executeInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x63B70BC: mongo::runGlobalInitializers(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x52DB5AA: mongo_csfle_v1_lib_create (in /tmp/p/lib/mongo_csfle_v1.so)
==14554== by 0x1091CB: main (in /tmp/p/test)
==14554==
==14554==
==14554== HEAP SUMMARY:
==14554== in use at exit: 483,043 bytes in 5,694 blocks
==14554== total heap usage: 41,719 allocs, 36,037 frees, 5,151,856 bytes allocated
==14554==
==14554== LEAK SUMMARY:
==14554== definitely lost: 0 bytes in 0 blocks
==14554== indirectly lost: 0 bytes in 0 blocks
==14554== possibly lost: 0 bytes in 0 blocks
==14554== still reachable: 483,043 bytes in 5,694 blocks
==14554== suppressed: 0 bytes in 0 blocks
==14554== Rerun with --leak-check=full to see details of leaked memory
==14554==
==14554== For lists of detected and suppressed errors, rerun with: -s
==14554== ERROR SUMMARY: 71 errors from 6 contexts (suppressed: 2 from 2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment