diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2016-02-23 17:51:07 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2016-02-23 17:51:07 -0500 |
commit | 492069a1cc8a88ef9adf374d8a1e6ba1cf2d884b (patch) | |
tree | b0a99c1b77f25a4bc3d6638676ccc59518cc7b90 | |
parent | a5923c5c9f812d84472f60f8c9c3e13a6702dd97 (diff) | |
download | trace-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.c | 6 |
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; |