On Tue, 25 Sep 2012 11:11:21 +0900
Namhyung Kim <namhy...@kernel.org> wrote:

> On Mon, 24 Sep 2012 23:24:10 +0800, Feng Tang wrote:
> [snip]
> > +           if (!check_perf_magic(magic)) {
> > +                   options[nr_options] = strdup(name);
> > +                   abs_path[nr_options++] = strdup(path);
> 
> Need to check return values.
> 
> 
> > +           }
> > +           fclose(file);
> > +   }
> > +   closedir(pwd_dir);
> > +
> > +   if (nr_options) {
> > +           choice = ui__popup_menu(nr_options, options);
> > +           if (choice < nr_options && choice >= 0) {
> > +                   input_name = strdup(abs_path[choice]);
> 
> Ditto.  Plus it might leak previous input_name.

Nice catch, will check the return value of "strdup". 

For input_name mem leak, in some cases the input_name can't be called
 with free(), like those got from parse "-i" option. In case the old
input_name is got from malloc through strdup, I think it's not a big
issue given that buffer will be freed any way when the application exit.

Thanks,
Feng

> 
> Thanks,
> Namhyung
> 
> 
> > +                   ret = 0;
> > +           }
> > +   }
> > +
> > +   free_popup_options(options, nr_options);
> > +   free_popup_options(abs_path, nr_options);
> > +   return ret;
> > +}
> > +
> > +
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to