aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2016-02-23 17:51:07 -0500
committerSteven Rostedt <rostedt@goodmis.org>2016-02-23 17:51:07 -0500
commit492069a1cc8a88ef9adf374d8a1e6ba1cf2d884b (patch)
treeb0a99c1b77f25a4bc3d6638676ccc59518cc7b90
parenta5923c5c9f812d84472f60f8c9c3e13a6702dd97 (diff)
downloadtrace-cmd-492069a1cc8a88ef9adf374d8a1e6ba1cf2d884b.tar.gz
trace-cmd profile: Fix error checking of find_and_update_start()
Commit 6fdff2ae98a0 "trace-cmd profiler: Removed malloc_or_die()" was a bit too aggressive in having failed mallocs exit out of called functions where it returned NULL when it should not have, which caused an segfault. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--trace-profile.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/trace-profile.c b/trace-profile.c
index 5e5bd1b7..7911ca1b 100644
--- a/trace-profile.c
+++ b/trace-profile.c
@@ -468,10 +468,8 @@ find_and_update_start(struct task_data *task, struct event_data *event_data,
struct start_data *start;
start = find_start(task, event_data, search_val);
- if (!start) {
- warning("Could not allocate start for event_hash");
+ if (!start)
return NULL;
- }
return add_and_free_start(task, start, event_data, ts);
}
@@ -644,8 +642,6 @@ handle_end_event(struct handle_data *h, struct event_data *event_data,
pevent_read_number_field(event_data->start_match_field, record->data,
&val);
event_hash = find_and_update_start(task, event_data->start, record->ts, val);
- if (!event_hash)
- return NULL;
task->last_start = NULL;
task->last_event = event_hash;