[llvm-branch-commits] [compiler-rt] 390dcd4 - [compiler-rt][profile] Fix InstrProfilingFile possible resource leak. (#81363)

Tom Stellard via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Feb 20 12:59:41 PST 2024


Author: David CARLIER
Date: 2024-02-20T12:59:02-08:00
New Revision: 390dcd4cbbf511954ba1e0ca000d3e1c6394060e

URL: https://github.com/llvm/llvm-project/commit/390dcd4cbbf511954ba1e0ca000d3e1c6394060e
DIFF: https://github.com/llvm/llvm-project/commit/390dcd4cbbf511954ba1e0ca000d3e1c6394060e.diff

LOG: [compiler-rt][profile] Fix InstrProfilingFile possible resource leak. (#81363)

close #79708

(cherry picked from commit 0a255fcf4a90f9e864ae9321b28e4956f7c865fb)

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 867ae73f0d3b27..f3b457d786e6bd 100644
--- a/compiler-rt/lib/profile/InstrProfilingFile.c
+++ b/compiler-rt/lib/profile/InstrProfilingFile.c
@@ -677,6 +677,7 @@ static void initializeProfileForContinuousMode(void) {
       PROF_ERR("Continuous counter sync mode is enabled, but raw profile is not"
                "page-aligned. CurrentFileOffset = %" PRIu64 ", pagesz = %u.\n",
                (uint64_t)CurrentFileOffset, PageSize);
+      fclose(File);
       return;
     }
     if (writeProfileWithFileObject(Filename, File) != 0) {
@@ -692,6 +693,8 @@ static void initializeProfileForContinuousMode(void) {
 
   if (doMerging()) {
     lprofUnlockFileHandle(File);
+  }
+  if (File != NULL) {
     fclose(File);
   }
 }


        


More information about the llvm-branch-commits mailing list