lkml.org 
[lkml]   [2011]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 04/10] perf tools: Fix out-of-bound access to struct perf_session
Date
If filename is NULL there is an out-of-bound access to struct
perf_session if it would be used with perf_session__open(). Shouldn't
actually happen in current implementation as filename is always
!NULL. Fixing this by always null-terminating filename.

Signed-off-by: Robert Richter <robert.richter@amd.com>
---
tools/perf/util/session.c | 2 +-
tools/perf/util/session.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 85c1e6b7..2ad9c10 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -132,7 +132,7 @@ struct perf_session *perf_session__new(const char *filename, int mode,
bool force, bool repipe,
struct perf_event_ops *ops)
{
- size_t len = filename ? strlen(filename) + 1 : 0;
+ size_t len = filename ? strlen(filename) : 0;
struct perf_session *self = zalloc(sizeof(*self) + len);

if (self == NULL)
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index 6e393c9..f320cd5 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -54,7 +54,7 @@ struct perf_session {
char *cwd;
struct ordered_samples ordered_samples;
struct callchain_cursor callchain_cursor;
- char filename[0];
+ char filename[1];
};

struct perf_evsel;
--
1.7.7



\
 
 \ /
  Last update: 2011-12-06 11:37    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog