diff options
author | Anthony Harivel <aharivel@redhat.com> | 2024-07-26 12:26:32 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-07-31 13:13:31 +0200 |
commit | 6e623af30130fce6e94c717176f3e3c9f2742b7d (patch) | |
tree | 1c4944981946ef9f2df4c9fc2e56876a8570f937 | |
parent | 5997fbdfaca3e69062c2b706d6228c7c6e133c03 (diff) | |
download | qemu-6e623af30130fce6e94c717176f3e3c9f2742b7d.zip qemu-6e623af30130fce6e94c717176f3e3c9f2742b7d.tar.gz qemu-6e623af30130fce6e94c717176f3e3c9f2742b7d.tar.bz2 |
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>
-rw-r--r-- | target/i386/kvm/vmsr_energy.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/target/i386/kvm/vmsr_energy.c b/target/i386/kvm/vmsr_energy.c index a1d78f2..7e064c5 100644 --- a/target/i386/kvm/vmsr_energy.c +++ b/target/i386/kvm/vmsr_energy.c @@ -270,7 +270,7 @@ void vmsr_read_thread_stat(pid_t pid, FILE *file = fopen(path, "r"); if (file == NULL) { - pid = -1; + error_report("Error opening %s", path_name); 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", utime, stime, cpu_id) != 3) { - pid = -1; + fclose(file); + error_report("Error fscanf did not report the right amount of items"); return; } |