[libFuzzer] fork mode: try harder to cleanup after itself
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer@354186 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/FuzzerLoop.cpp b/FuzzerLoop.cpp
index 7dc2fd4..75dc600 100644
--- a/FuzzerLoop.cpp
+++ b/FuzzerLoop.cpp
@@ -258,6 +258,7 @@
void Fuzzer::MaybeExitGracefully() {
if (!F->GracefulExitRequested) return;
Printf("==%lu== INFO: libFuzzer: exiting as requested\n", GetPid());
+ RmDirRecursive(TempPath(".dir"));
F->PrintFinalStats();
_Exit(0);
}
@@ -265,6 +266,7 @@
void Fuzzer::InterruptCallback() {
Printf("==%lu== libFuzzer: run interrupted; exiting\n", GetPid());
PrintFinalStats();
+ RmDirRecursive(TempPath(".dir"));
// Stop right now, don't perform any at-exit actions.
_Exit(Options.InterruptExitCode);
}