Browse Source

target/i386: Clean up error cases for vmsr_read_thread_stat()

Fix leaking memory of file handle in case of error
Erase unused "pid = -1"
Add clearer error_report

Should fix Coverity CID 1558557.

Signed-off-by: Anthony Harivel <aharivel@redhat.com>
Link: https://lore.kernel.org/r/20240726102632.1324432-3-aharivel@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Anthony Harivel 1 year ago
parent
commit
6e623af301
1 changed files with 3 additions and 2 deletions
  1. 3 2
      target/i386/kvm/vmsr_energy.c

+ 3 - 2
target/i386/kvm/vmsr_energy.c

@@ -270,7 +270,7 @@ void vmsr_read_thread_stat(pid_t pid,
 
 
     FILE *file = fopen(path, "r");
     FILE *file = fopen(path, "r");
     if (file == NULL) {
     if (file == NULL) {
-        pid = -1;
+        error_report("Error opening %s", path_name);
         return;
         return;
     }
     }
 
 
@@ -279,7 +279,8 @@ void vmsr_read_thread_stat(pid_t pid,
         " %*u %*u %*u %*u %*u %*u %*u %*u %*u %*d %*u %*u %u",
         " %*u %*u %*u %*u %*u %*u %*u %*u %*u %*d %*u %*u %u",
            utime, stime, cpu_id) != 3)
            utime, stime, cpu_id) != 3)
     {
     {
-        pid = -1;
+        fclose(file);
+        error_report("Error fscanf did not report the right amount of items");
         return;
         return;
     }
     }