[compiler-rt] Fixed small memory leak in libprofile (PR #141739)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 28 03:37:37 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-pgo
Author: None (gbMattN)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/141739.diff
1 Files Affected:
- (modified) compiler-rt/lib/profile/InstrProfilingFile.c (+3-1)
``````````diff
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;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/141739
More information about the llvm-commits
mailing list