diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2011-05-21 19:33:04 +0200 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2011-05-22 03:38:36 +0200 |
commit | a285412479b6d5af3e48273a92ec2f1987df8cd1 (patch) | |
tree | 29f68684cebb26b86c3dd0b0f0fc4e5d6553c989 /tools/perf/util/session.c | |
parent | 74429964d8e29c0107fa6e9cdf35b8f33f57405d (diff) |
perf tools: Pre-check sample size before parsing
Check that the total size of the sample fields having a fixed
size do not exceed the one of the whole event. This robustifies
the sample parsing.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Stephane Eranian <eranian@google.com>
Diffstat (limited to 'tools/perf/util/session.c')
-rw-r--r-- | tools/perf/util/session.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index db652068c39..8940fd871ea 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -97,6 +97,7 @@ out: void perf_session__update_sample_type(struct perf_session *self) { self->sample_type = perf_evlist__sample_type(self->evlist); + self->sample_size = perf_sample_size(self->sample_type); self->sample_id_all = perf_evlist__sample_id_all(self->evlist); perf_session__id_header_size(self); } |