bson_valgrind — Use Valgrind to Check For BSON Data Leaks
A stack-allocated bson_t contains a small internal buffer; it only heap-allocates additional storage if necessary, depending on its data size. Therefore if you forget to call bson_destroy on a stack-allocated bson_t, it might or might not cause a leak that can be detected by valgrind during testing.
To catch all potential BSON data leaks in your code, configure the BSON_MEMCHECK flag:
cmake -DCMAKE_C_FLAGS="-DBSON_MEMCHECK -g" .
With this flag set, every bson_t mallocs at least one byte. Run your program's unittests with valgrind to verify all bson_t structs are destroyed.
Set the environment variable MONGOC_TEST_VALGRIND to on to skip timing-dependent tests known to fail with valgrind.
2017-present, MongoDB, Inc