On (07/01/14 17:54), Amit Kucheria wrote:
> Date: Tue, 1 Jul 2014 17:54:15 +0530
> From: Amit Kucheria <amit.kuche...@linaro.org>
> To: Mohammad Merajul Islam Molla <meraj.eni...@gmail.com>,
>  power...@lists.01.org
> Cc: Lists linaro-dev <linaro-dev@lists.linaro.org>
> Subject: Re: [Powertop] [PATCH POWERTOP] Fix various resource leaks
> 
> Mohammad,
> 
> This fix should go upstream. cc'ing the powertop list.
> 
> Regards,
> Amit
> 
> On Thu, Jun 26, 2014 at 12:42 PM, Mohammad Merajul Islam Molla
> <meraj.eni...@gmail.com> wrote:
> > Fixes some resource leaks detected by valgrind and coverity scan.
> >
> >
> > diff --git a/src/devices/ahci.cpp b/src/devices/ahci.cpp
> > index ac06460..7f704b6 100644
> > --- a/src/devices/ahci.cpp
> > +++ b/src/devices/ahci.cpp
> > @@ -64,8 +64,10 @@ static string disk_name(char *path, char *target,
> > char *shortname)
> >                 sprintf(line, "%s/%s/model", pathname, dirent->d_name);
> >                 file = fopen(line, "r");
> >                 if (file) {
> > -                       if (fgets(line, 4096, file) == NULL)
> > +                       if (fgets(line, 4096, file) == NULL) {
> > +                               fclose(file);
> >                                 break;
> > +                       }
> >                         fclose(file);
> >                         c = strchr(line, '\n');
> >                         if (c)
> > diff --git a/src/devices/devfreq.cpp b/src/devices/devfreq.cpp
> > index e16951c..23c4b0c 100644
> > --- a/src/devices/devfreq.cpp
> > +++ b/src/devices/devfreq.cpp
> > @@ -238,6 +238,7 @@ void create_all_devfreq_devices(void)
> >
> >         callback fn = &devfreq_dev_callback;
> >         process_directory(p.c_str(), fn);
> > +       closedir(dir);

I don't see this file at
https://github.com/fenrus75/powertop/tree/master/src/devices

afair, process_directory() closes dir.

        -ss

> >  }
> >
> >  void initialize_devfreq(void)
> > diff --git a/src/perf/perf_bundle.cpp b/src/perf/perf_bundle.cpp
> > index b0e982b..cf1ae11 100644
> > --- a/src/perf/perf_bundle.cpp
> > +++ b/src/perf/perf_bundle.cpp
> > @@ -142,8 +142,10 @@ static void parse_event_format(const char *event_name)
> >
> >         buf = read_file(file);
> >         free(file);
> > -       if (!buf)
> > +       if (!buf) {
> > +               free(name);
> >                 return;
> > +       }
> >
> >         pevent_parse_event(perf_event::pevent, buf, strlen(buf), sys);
> >         free(name);
> > diff --git a/src/tuning/bluetooth.cpp b/src/tuning/bluetooth.cpp
> > index e0bdf12..5100a8a 100644
> > --- a/src/tuning/bluetooth.cpp
> > +++ b/src/tuning/bluetooth.cpp
> > @@ -144,8 +144,10 @@ int bt_tunable::good_bad(void)
> >                 if (file) {
> >                         char line[2048];
> >                         /* first line is standard header */
> > -                       if (fgets(line, 2047, file) == NULL)
> > +                       if (fgets(line, 2047, file) == NULL) {
> > +                               pclose(file);
> >                                 goto out;
> > +                       }
> >                         memset(line, 0, 2048);
> >                         if (fgets(line, 2047, file) == NULL) {
> >                                 result = last_check_result = TUNE_GOOD;
> >
> >
> >
> > --
> > Thanks,
> > -Meraj
> >
> > _______________________________________________
> > linaro-dev mailing list
> > linaro-dev@lists.linaro.org
> > http://lists.linaro.org/mailman/listinfo/linaro-dev
> >
> _______________________________________________
> PowerTop mailing list
> power...@lists.01.org
> https://lists.01.org/mailman/listinfo/powertop
> 

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to