linux/tools/perf/util
Namhyung Kim 50a2740b83 perf header: Fix possible memory leaks in process_group_desc()
After processing all group descriptors or encountering an error, it
frees all descriptors.  However, current logic can leak memory since it
might not traverse all descriptors.

Note that the 'i' can have different value than nr_groups when an error
occurred and it's safe to call free(desc[i].name) for every desc since
we already make it NULL when it's reused for group names.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1384741244-7271-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2013-11-19 10:34:05 -03:00
..
include perf fs: Add procfs support 2013-11-05 15:15:07 -03:00
scripting-engines perf tools: Use an accessor to read thread comm 2013-11-04 11:50:28 -03:00
PERF-VERSION-GEN perf tools: Fix version when building out of tree 2013-11-07 10:40:47 -03:00
abspath.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
alias.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.c perf annotate: Find kcore symbols on other maps 2013-10-14 10:29:20 -03:00
annotate.h perf tools: Separate out GTK codes to libperf-gtk.so 2013-10-09 15:55:25 -03:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf tools: Stop using 'self' in some more places 2013-10-23 09:55:37 -03:00
build-id.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
cache.h tools/perf: Turn strlcpy() into a __weak function 2013-10-09 08:48:49 +02:00
callchain.c perf callchain: Convert children list to rbtree 2013-10-21 17:33:23 -03:00
callchain.h Merge branch 'perf/urgent' into perf/core 2013-10-29 11:23:32 +01:00
cgroup.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
color.c perf tools: Remove cast of non-variadic function to variadic 2013-11-01 10:40:51 -03:00
color.h perf tools: Remove cast of non-variadic function to variadic 2013-11-01 10:40:51 -03:00
comm.c perf tools: Get current comm instead of last one 2013-11-04 12:16:39 -03:00
comm.h perf tools: Get current comm instead of last one 2013-11-04 12:16:39 -03:00
config.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cpumap.c perf fs: Rename NAME_find_mountpoint() to NAME__mountpoint() 2013-11-05 15:15:00 -03:00
cpumap.h perf tools: Rename cpu_map__all() to cpu_map__empty() 2013-07-12 13:45:44 -03:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
data.c perf tools: Add perf_data_file__open interface to data object 2013-10-21 17:33:24 -03:00
data.h perf session: Separating data file properties from session 2013-10-21 17:33:25 -03:00
debug.c perf tools: Fix TUI helpline output 2012-12-09 08:46:07 -03:00
debug.h perf evsel: Introduce perf_evsel__open_strerror method 2013-01-24 16:40:09 -03:00
dso.c perf tools: Save failed result of get_srcline() 2013-10-09 16:02:02 -03:00
dso.h perf tools: Save failed result of get_srcline() 2013-10-09 16:02:02 -03:00
dwarf-aux.c perf probe: Fix to find line information for probe list 2013-10-04 15:16:05 -03:00
dwarf-aux.h perf probe: Fix to find line information for probe list 2013-10-04 15:16:05 -03:00
environment.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
event.c perf tools: Synthesize anon MMAP records again 2013-11-14 16:00:01 -03:00
event.h perf record: Synthesize non-exec MMAP records when --data used 2013-11-11 15:56:39 -03:00
evlist.c perf record: Add an option to force per-cpu mmaps 2013-11-14 16:10:27 -03:00
evlist.h perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
evsel.c perf record: Add an option to force per-cpu mmaps 2013-11-14 16:10:27 -03:00
evsel.h perf evsel: Introduce perf_evsel__prev() method 2013-11-14 16:00:16 -03:00
exec_cmd.c perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
exec_cmd.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
fs.c perf fs: Add procfs support 2013-11-05 15:15:07 -03:00
fs.h perf fs: Add procfs support 2013-11-05 15:15:07 -03:00
generate-cmdlist.sh tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
header.c perf header: Fix possible memory leaks in process_group_desc() 2013-11-19 10:34:05 -03:00
header.h perf header: Recognize version number for perf data file 2013-07-17 17:04:00 -03:00
help.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
hist.c perf hists: Consolidate __hists__add_*entry() 2013-11-04 20:59:09 -03:00
hist.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
hweight.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
intlist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
intlist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
levenshtein.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
machine.c perf symbols: Limit max callchain using max_stack on DWARF unwinding too 2013-11-14 16:00:23 -03:00
machine.h perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
map.c perf annotate: Another fix for annotate_browser__callq() 2013-10-14 12:21:18 -03:00
map.h perf annotate: Another fix for annotate_browser__callq() 2013-10-14 12:21:18 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events.c perf evsel: Remove idx parm from constructor 2013-11-11 15:56:39 -03:00
parse-events.h perf parse events: Demystify memory allocations 2013-07-12 13:52:05 -03:00
parse-events.l perf tools: Move start conditions to start of the flex file 2013-10-11 12:17:31 -03:00
parse-events.y perf parse events: Demystify memory allocations 2013-07-12 13:52:05 -03:00
parse-options.c perf stat: Enhance option parse error message 2013-11-04 12:57:36 -03:00
parse-options.h perf tools: Show single option when failed to parse 2013-11-04 12:51:45 -03:00
path.c tools/perf: Turn strlcpy() into a __weak function 2013-10-09 08:48:49 +02:00
perf_regs.h tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
pmu.c perf fs: Rename NAME_find_mountpoint() to NAME__mountpoint() 2013-11-05 15:15:00 -03:00
pmu.h tools/perf/stat: Add perf stat --transaction 2013-10-04 10:06:07 +02:00
pmu.l perf tools: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
pmu.y perf tools: Fix build with bison 2.3 and older. 2013-02-14 16:12:34 -03:00
probe-event.c perf probe: Support "$vars" meta argument syntax for local variables 2013-10-23 09:55:37 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
probe-finder.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
pstack.c perf tools: Stop using 'self' in pstack 2012-11-14 16:50:38 -03:00
pstack.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
python-ext-sources perf tools: Factor sysfs code into generic fs object 2013-11-05 14:44:26 -03:00
python.c Merge branch 'perf/urgent' into perf/core 2013-10-29 11:23:32 +01:00
quote.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
quote.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
rblist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
rblist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
record.c perf tools: Check maximum frequency rate for record/top 2013-11-05 15:15:08 -03:00
run-command.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
session.c perf evsel: Ditch evsel->handler.data field 2013-11-07 10:40:47 -03:00
session.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
setup.py perf tools: Merge all *CFLAGS* make variable into CFLAGS 2013-05-30 16:12:03 +03:00
sigchain.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sigchain.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sort.c perf tools: Prevent condition that all sort keys are elided 2013-11-11 15:56:40 -03:00
sort.h perf tools: Remove unneeded include 2013-11-07 11:51:19 -03:00
srcline.c perf tools: Fix old GCC build error in 'get_srcline' 2013-10-14 10:28:52 -03:00
stat.c perf stats: Add max and min stats 2013-08-07 17:35:26 -03:00
stat.h perf stats: Add max and min stats 2013-08-07 17:35:26 -03:00
strbuf.c perf tools: Fix strbuf_addf() when the buffer needs to grow 2012-10-30 10:32:56 -02:00
strbuf.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strfilter.c perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
strfilter.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
string.c perf tools: Default to cpu// for events v5 2013-07-12 13:53:52 -03:00
strlist.c perf probe: Fix segfault 2013-03-13 17:00:33 -03:00
strlist.h perf tools: Stop using 'self' in strlist 2013-01-25 12:49:28 -03:00
svghelper.c perf timechart: Fix black idle boxes in the title 2011-02-28 08:56:14 +01:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
symbol-elf.c perf symbols: Fix a mmap and munmap mismatched bug 2013-10-14 12:21:23 -03:00
symbol-minimal.c perf buildid-cache: Add ability to add kcore to the cache 2013-10-14 12:20:38 -03:00
symbol.c perf symbols: Fix a memory leak due to symbol__delete not being used 2013-10-14 12:21:20 -03:00
symbol.h perf buildid-cache: Add ability to add kcore to the cache 2013-10-14 12:20:38 -03:00
target.c perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
target.h perf record: Add an option to force per-cpu mmaps 2013-11-14 16:10:27 -03:00
thread.c perf tools: Tag thread comm as overriden 2013-11-19 10:33:29 -03:00
thread.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
thread_map.c perf tools: fix thread_map__new_by_pid_str() memory leak in error path 2012-05-25 11:40:59 -03:00
thread_map.h perf evlist: Add thread_map__nr() helper 2013-03-15 13:06:02 -03:00
tool.h perf tools: Add attr->mmap2 support 2013-09-11 10:09:32 -03:00
top.c perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
top.h perf top: Add --max-stack option to limit callchain stack scan 2013-10-21 17:36:25 -03:00
trace-event-info.c perf util: No need to call read_trace_init() in tracing_data_header() 2013-07-12 13:52:31 -03:00
trace-event-parse.c perf tools: Remove unused trace-event-* code 2013-10-09 11:15:28 -03:00
trace-event-read.c perf util: Parse header_page to get proper long size 2013-07-12 13:52:24 -03:00
trace-event-scripting.c perf script: Fix named threads support 2013-07-22 11:55:53 -03:00
trace-event.h perf tools: Remove unused trace-event-* code 2013-10-09 11:15:28 -03:00
types.h perf tools: Add union u64_swap type for swapping u64 data 2012-05-22 12:50:25 -03:00
unwind.c perf symbols: Limit max callchain using max_stack on DWARF unwinding too 2013-11-14 16:00:23 -03:00
unwind.h perf symbols: Limit max callchain using max_stack on DWARF unwinding too 2013-11-14 16:00:23 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf tools: Do not accept parse_tag_value() overflow 2013-10-23 10:59:09 -03:00
util.h perf tools: Introduce filename__read_int helper 2013-10-17 16:33:43 -03:00
values.c perf tools: Fix a memory leak on perf_read_values_destroy 2011-12-20 13:41:34 -02:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
vdso.c perf symbols: Fix vdso list searching 2013-07-08 17:59:07 -03:00
vdso.h perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
wrapper.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
xyarray.c perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00
xyarray.h perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00