Name Description Size
FuzzerRunner.cpp libFuzzer uses exit() calls in several places instead of returning, so the destructor of ScopedXPCOM is not called in some cases. For fuzzing, this does not make a difference, but in debug builds when running a single testcase, this causes an assertion when destroying global linked lists. For this reason, we allocate ScopedXPCOM on the heap using the global InitLibFuzzer class, combined with an atexit call to destroy the ScopedXPCOM instance again. 2738
FuzzerRunner.h 581
FuzzerTestHarness.h Test harness for XPCOM objects, providing a scoped XPCOM initializer, nsCOMPtr, nsRefPtr, do_CreateInstance, do_GetService, ns(Auto|C|)String, and stdio.h/stdlib.h. 7569
moz.build 433