Em Tue, Oct 02, 2018 at 10:29:13AM -0400, Sanskriti Sharma escreveu: > The temporary 'buf' buffer allocated in read_event_file() may be freed > twice. Move the free() call to the common function exit point. > > Fixes the following coverity complaints: > > Error: USE_AFTER_FREE (CWE-825): > tools/perf/util/trace-event-read.c:309: double_free: Calling "free" > frees pointer "buf" which has already been freed.
Thanks, applied. - Arnaldo > Signed-off-by: Sanskriti Sharma <sansh...@redhat.com> > --- > tools/perf/util/trace-event-read.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/tools/perf/util/trace-event-read.c > b/tools/perf/util/trace-event-read.c > index 3dfc1db..6a0d0f2 100644 > --- a/tools/perf/util/trace-event-read.c > +++ b/tools/perf/util/trace-event-read.c > @@ -297,10 +297,8 @@ static int read_event_file(struct tep_handle *pevent, > char *sys, > } > > ret = do_read(buf, size); > - if (ret < 0) { > - free(buf); > + if (ret < 0) > goto out; > - } > > ret = parse_event_file(pevent, buf, size, sys); > if (ret < 0) > -- > 1.8.3.1