tools/power/x86/turbostat/turbostat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The cppcheck reports this issue
turbostat.c:2039]: (error) Resource leak: fp
When the fscanf fails an error is returned without closing fp.
Move the fclose so even if the fscanf fails, the file will be closed.
Fixes: eae97e053fe3 ("tools/power turbostat: Support thermal throttle count print")
Signed-off-by: Tom Rix <trix@redhat.com>
---
tools/power/x86/turbostat/turbostat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index ede31a4287a0..2e9a751af260 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -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;
--
2.27.0
On Sat, Apr 30, 2022 at 10:15:57AM -0400, Tom Rix wrote:
> The cppcheck reports this issue
> turbostat.c:2039]: (error) Resource leak: fp
>
> When the fscanf fails an error is returned without closing fp.
> Move the fclose so even if the fscanf fails, the file will be closed.
>
> Fixes: eae97e053fe3 ("tools/power turbostat: Support thermal throttle count print")
> Signed-off-by: Tom Rix <trix@redhat.com>
> ---
> tools/power/x86/turbostat/turbostat.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
> index ede31a4287a0..2e9a751af260 100644
> --- a/tools/power/x86/turbostat/turbostat.c
> +++ b/tools/power/x86/turbostat/turbostat.c
> @@ -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;
> --
Thank you Tom, and Colin has proposed a fix here:
https://lore.kernel.org/lkml/20220426131607.1520483-1-colin.i.king@gmail.com/
thanks,
Chenyu
On 4/30/22 7:19 AM, Chen Yu wrote:
> On Sat, Apr 30, 2022 at 10:15:57AM -0400, Tom Rix wrote:
>> The cppcheck reports this issue
>> turbostat.c:2039]: (error) Resource leak: fp
>>
>> When the fscanf fails an error is returned without closing fp.
>> Move the fclose so even if the fscanf fails, the file will be closed.
>>
>> Fixes: eae97e053fe3 ("tools/power turbostat: Support thermal throttle count print")
>> Signed-off-by: Tom Rix <trix@redhat.com>
>> ---
>> tools/power/x86/turbostat/turbostat.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
>> index ede31a4287a0..2e9a751af260 100644
>> --- a/tools/power/x86/turbostat/turbostat.c
>> +++ b/tools/power/x86/turbostat/turbostat.c
>> @@ -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;
>> --
> Thank you Tom, and Colin has proposed a fix here:
> https://lore.kernel.org/lkml/20220426131607.1520483-1-colin.i.king@gmail.com/
Obviously I approve of Colin's fix :)
If it is not too much trouble, please add
Reviewed-by: Tom Rix <trix@redhat.com>
If it is already on its way to linux-next, don't worry about it.
Thanks,
Tom
>
> thanks,
> Chenyu
>
© 2016 - 2026 Red Hat, Inc.