[profile] Fix a possible memory leak in parseFilenamePattern().

Differential Revision: https://reviews.llvm.org/D49666

llvm-svn: 337823
diff --git a/compiler-rt/lib/profile/InstrProfilingFile.c b/compiler-rt/lib/profile/InstrProfilingFile.c
index f6013ad..68ba923 100644
--- a/compiler-rt/lib/profile/InstrProfilingFile.c
+++ b/compiler-rt/lib/profile/InstrProfilingFile.c
@@ -318,12 +318,12 @@
   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 {