[compiler-rt] 2b1ebef - Fixed small memory leak in libprofile (#141739)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 28 06:51:53 PDT 2025
Author: gbMattN
Date: 2025-05-28T14:51:50+01:00
New Revision: 2b1ebef8b8a5af7092de80daafd2743683d0e8c8
URL: https://github.com/llvm/llvm-project/commit/2b1ebef8b8a5af7092de80daafd2743683d0e8c8
DIFF: https://github.com/llvm/llvm-project/commit/2b1ebef8b8a5af7092de80daafd2743683d0e8c8.diff
LOG: Fixed small memory leak in libprofile (#141739)
Inside `getCurFilename`, there is this code snippit
```
if (!lprofCurFilename.FilenamePat || !lprofCurFilename.FilenamePat[0])
return 0;
```
If this is true, we return `"\0"`, but would leak the memory in
`FilenameBuf`.
This pull request adds a free before then to properly free the memory.
There was already a check that we allocated memory, so there is no need
to worry about freeing unallocated memory.
Added:
Modified:
compiler-rt/lib/profile/InstrProfilingFile.c
Removed:
################################################################################
diff --git a/compiler-rt/lib/profile/InstrProfilingFile.c b/compiler-rt/lib/profile/InstrProfilingFile.c
index e6bab9533146b..354f21b786151 100644
--- a/compiler-rt/lib/profile/InstrProfilingFile.c
+++ b/compiler-rt/lib/profile/InstrProfilingFile.c
@@ -1088,8 +1088,10 @@ const char *__llvm_profile_get_filename(void) {
return "\0";
}
Filename = getCurFilename(FilenameBuf, 1);
- if (!Filename)
+ if (!Filename) {
+ free(FilenameBuf);
return "\0";
+ }
return FilenameBuf;
}
More information about the llvm-commits
mailing list