linux/tools/lib/traceevent
Steven Rostedt e46e5c256c tools lib traceevent: Do not reassign parg after collapse_tree()
commit 106b816cb4 upstream.

At the end of process_filter(), collapse_tree() was changed to update
the parg parameter, but the reassignment after the call wasn't removed.

What happens is that the "current_op" gets modified and freed and parg
is assigned to the new allocated argument. But after the call to
collapse_tree(), parg is assigned again to the just freed "current_op",
and this causes the tool to crash.

The current_op variable must also be assigned to NULL in case of error,
otherwise it will cause it to be free()ed twice.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Fixes: 42d6194d13 ("tools lib traceevent: Refactor process_filter()")
Link: http://lkml.kernel.org/r/20160511150936.678c18a1@gandalf.local.home
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2016-06-15 21:29:32 +01:00
..
.gitignore tools lib traceevent: Ignore TRACEEVENT-CFLAGS file 2012-07-25 11:54:44 -03:00
event-parse.c tools lib traceevent: Fix output of %llu for 64 bit values read on 32 bit machines 2016-02-02 17:29:13 +00:00
event-parse.h tools lib traceevent: Added support for __get_bitmask() macro 2014-06-07 23:33:37 +02:00
event-plugin.c tools lib traceevent: Add options to plugins 2014-06-07 23:33:36 +02:00
event-utils.h tools lib traceevent: Get rid of die() finally!! 2014-01-15 15:10:36 -03:00
kbuffer-parse.c tools lib traceevent kbuffer: Remove extra update to data pointer in PADDING 2015-05-05 11:09:31 +01:00
kbuffer.h tools lib traceevent: Port kbuffer parser routines 2013-07-12 13:52:16 -03:00
Makefile perf tools: Fix traceevent plugin path definitions 2014-01-23 15:48:12 -03:00
parse-filter.c tools lib traceevent: Do not reassign parg after collapse_tree() 2016-06-15 21:29:32 +01:00
parse-utils.c tools lib traceevent: Get rid of die() finally!! 2014-01-15 15:10:36 -03:00
plugin_cfg80211.c tools lib traceevent: Unregister handler when cfg80211 plugin is unloaded 2014-01-16 16:26:25 -03:00
plugin_function.c tools lib traceevent: Add options to function plugin 2014-06-07 23:33:37 +02:00
plugin_hrtimer.c tools lib traceevent: Unregister handler when hrtimer plugin is unloaded 2014-01-16 16:26:24 -03:00
plugin_jbd2.c tools lib traceevent: Unregister handler when jbd2 plugin is is unloaded 2014-01-16 16:26:25 -03:00
plugin_kmem.c tools lib traceevent: Unregister handler when kmem plugin is unloaded 2014-01-16 16:26:24 -03:00
plugin_kvm.c tools lib traceevent: Unregister handler when kvm plugin is unloaded 2014-01-16 16:26:24 -03:00
plugin_mac80211.c tools lib traceevent: Unregister handler when mac80211 plugin is unloaded 2014-01-16 16:26:25 -03:00
plugin_sched_switch.c tools lib traceevent: Unregister handler when sched_switch plugin is unloaded 2014-01-16 16:26:25 -03:00
plugin_scsi.c tools lib traceevent: Unregister handler when scsi plugin is unloaded 2014-01-16 16:26:25 -03:00
plugin_xen.c tools lib traceevent: Unregister handler when xen plugin is unloaded 2014-01-16 16:26:25 -03:00
trace-seq.c tools lib traceevent: Get rid of malloc_or_die() in trace_seq_init() 2014-01-15 15:10:32 -03:00