Browse Source

Tests: Fix FILE stream leaks in helper programs

Brad King 1 year ago
parent
commit
be540dbe19
2 changed files with 11 additions and 7 deletions
  1. 2 0
      Tests/RunCMake/detect_jobserver.c
  2. 9 7
      Tests/RunCMake/pseudo_llvm-rc.c

+ 2 - 0
Tests/RunCMake/detect_jobserver.c

@@ -162,6 +162,7 @@ int main(int argc, char** argv)
 
   jobserver = jobserver_auth(message);
   if (jobserver == NULL) {
+    fclose(fp);
     fprintf(stderr, "%s\n", message);
     return 1;
   }
@@ -171,6 +172,7 @@ int main(int argc, char** argv)
 #else
   result = posix(jobserver, message);
 #endif
+  fclose(fp);
   free(jobserver);
   message[MAX_MESSAGE_LENGTH] = '\0';
 

+ 9 - 7
Tests/RunCMake/pseudo_llvm-rc.c

@@ -9,6 +9,8 @@ int main(int argc, char* argv[])
 {
   FILE* source;
   FILE* target;
+  char buffer[500];
+  size_t n;
   int i;
   for (i = 1; i < argc; ++i) {
     if (strcmp(argv[i], "-bad") == 0) {
@@ -22,13 +24,13 @@ int main(int argc, char* argv[])
     return 1;
   }
   target = fopen(argv[argc - 2], "wb");
-  if (target != NULL) {
-    char buffer[500];
-    size_t n = fread(buffer, 1, sizeof(buffer), source);
-    fwrite(buffer, 1, n, target);
+  if (target == NULL) {
     fclose(source);
-    fclose(target);
-    return 0;
+    return 1;
   }
-  return 1;
+  n = fread(buffer, 1, sizeof(buffer), source);
+  fwrite(buffer, 1, n, target);
+  fclose(source);
+  fclose(target);
+  return 0;
 }