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>
This commit is contained in:
		
					parent
					
						
							
								210e812f03
							
						
					
				
			
			
				commit
				
					
						50a2740b83
					
				
			
		
					 1 changed files with 1 additions and 1 deletions
				
			
		|  | @ -2107,7 +2107,7 @@ static int process_group_desc(struct perf_file_section *section __maybe_unused, | |||
| 
 | ||||
| 	ret = 0; | ||||
| out_free: | ||||
| 	while ((int) --i >= 0) | ||||
| 	for (i = 0; i < nr_groups; i++) | ||||
| 		free(desc[i].name); | ||||
| 	free(desc); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Namhyung Kim
				Namhyung Kim