selftests: kvm: fix mismatched fclose() after popen()
authorShuah Khan <skhan@linuxfoundation.org>
Thu, 21 Oct 2021 17:56:03 +0000 (11:56 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 13:03:59 +0000 (14:03 +0100)
[ Upstream commit c3867ab5924b7a9a0b4a117902a08669d8be7c21 ]

get_warnings_count() does fclose() using File * returned from popen().
Fix it to call pclose() as it should.

tools/testing/selftests/kvm/x86_64/mmio_warning_test
x86_64/mmio_warning_test.c: In function ‘get_warnings_count’:
x86_64/mmio_warning_test.c:87:9: warning: ‘fclose’ called on pointer returned from a mismatched allocation function [-Wmismatched-dealloc]
   87 |         fclose(f);
      |         ^~~~~~~~~
x86_64/mmio_warning_test.c:84:13: note: returned from ‘popen’
   84 |         f = popen("dmesg | grep \"WARNING:\" | wc -l", "r");
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/kvm/x86_64/mmio_warning_test.c

index 8039e1e..9f55ccd 100644 (file)
@@ -84,7 +84,7 @@ int get_warnings_count(void)
        f = popen("dmesg | grep \"WARNING:\" | wc -l", "r");
        if (fscanf(f, "%d", &warnings) < 1)
                warnings = 0;
-       fclose(f);
+       pclose(f);
 
        return warnings;
 }