[profile] Fix a possible memory leak in parseFilenamePattern().
authorIgor Kudrin <ikudrin@accesssoftek.com>
Tue, 24 Jul 2018 12:28:53 +0000 (12:28 +0000)
committerIgor Kudrin <ikudrin@accesssoftek.com>
Tue, 24 Jul 2018 12:28:53 +0000 (12:28 +0000)
Differential Revision: https://reviews.llvm.org/D49666

llvm-svn: 337823

compiler-rt/lib/profile/InstrProfilingFile.c

index f6013ad..68ba923 100644 (file)
@@ -318,12 +318,12 @@ static int parseFilenamePattern(const char *FilenamePat,
   if (lprofCurFilename.Filename)
     free((void *)lprofCurFilename.Filename);
 
-  memset(&lprofCurFilename, 0, sizeof(lprofCurFilename));
-
   if (lprofCurFilename.FilenamePat && lprofCurFilename.OwnsFilenamePat) {
     free((void *)lprofCurFilename.FilenamePat);
   }
 
+  memset(&lprofCurFilename, 0, sizeof(lprofCurFilename));
+
   if (!CopyFilenamePat)
     lprofCurFilename.FilenamePat = FilenamePat;
   else {