Skip to content

Commit fe1491b

Browse files
authored
[Support] Fix memory leak induced by sys::RemoveFileOnSignal (#159984)
Before this PR, `FilesToRemove` was constructed but never deleted.
1 parent 269f264 commit fe1491b

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

llvm/lib/Support/Windows/Signals.inc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,13 @@ bool sys::RemoveFileOnSignal(StringRef Filename, std::string *ErrMsg) {
421421
return true;
422422
}
423423

424-
if (FilesToRemove == NULL)
424+
if (FilesToRemove == NULL) {
425425
FilesToRemove = new std::vector<std::string>;
426+
std::atexit([]() {
427+
delete FilesToRemove;
428+
FilesToRemove = NULL;
429+
});
430+
}
426431

427432
FilesToRemove->push_back(std::string(Filename));
428433

0 commit comments

Comments
 (0)