Message ID | 20220430141557.1065405-1-trix@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Len Brown |
Headers | show |
Series | tools/power turbostat: close file after use | expand |
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 >
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;
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(-)