tools/power turbostat: Fix file pointer leak
authorColin Ian King <colin.i.king@gmail.com>
Tue, 26 Apr 2022 13:16:07 +0000 (14:16 +0100)
committerLen Brown <len.brown@intel.com>
Thu, 28 Jul 2022 18:23:25 +0000 (14:23 -0400)
Currently if a fscanf fails then an early return leaks an open
file pointer. Fix this by fclosing the file before the return.
Detected using static analysis with cppcheck:

tools/power/x86/turbostat/turbostat.c:2039:3: error: Resource leak: fp [resourceLeak]

Fixes: eae97e053fe3 ("tools/power turbostat: Support thermal throttle count print")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Acked-by: Chen Yu <yu.c.chen@intel.com>
Reviewed-by: Tom Rix <trix@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/turbostat.c

index 4593f8d..c451faf 100644 (file)
@@ -2035,9 +2035,9 @@ int get_core_throt_cnt(int cpu, unsigned long long *cnt)
        if (!fp)
                return -1;
        ret = fscanf(fp, "%lld", &tmp);
+       fclose(fp);
        if (ret != 1)
                return -1;
-       fclose(fp);
        *cnt = tmp;
 
        return 0;