All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Tommi Rantala <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: hpa@zytor.com, peterz@infradead.org,
	alexander.shishkin@linux.intel.com, tglx@linutronix.de,
	linux-kernel@vger.kernel.org, tommi.t.rantala@nokia.com,
	acme@redhat.com, mingo@kernel.org
Subject: [tip:perf/core] perf utils: Null terminate buf in read_ftrace_printk()
Date: Mon, 27 Mar 2017 22:58:30 -0700	[thread overview]
Message-ID: <tip-d4b364df5f6540e8d6a38008ce2693ba73a8508a@git.kernel.org> (raw)
In-Reply-To: <20170322130624.21881-6-tommi.t.rantala@nokia.com>

Commit-ID:  d4b364df5f6540e8d6a38008ce2693ba73a8508a
Gitweb:     http://git.kernel.org/tip/d4b364df5f6540e8d6a38008ce2693ba73a8508a
Author:     Tommi Rantala <tommi.t.rantala@nokia.com>
AuthorDate: Wed, 22 Mar 2017 15:06:23 +0200
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 27 Mar 2017 15:37:35 -0300

perf utils: Null terminate buf in read_ftrace_printk()

Ensure that the string that we read from the data file is null terminated.

Valgrind was complaining:

  ==31357== Invalid read of size 1
  ==31357==    at 0x4EC8C1: __strtok_r_1c (string2.h:200)
  ==31357==    by 0x4EC8C1: parse_ftrace_printk (trace-event-parse.c:161)
  ==31357==    by 0x4F82A8: read_ftrace_printk (trace-event-read.c:204)
  ==31357==    by 0x4F82A8: trace_report (trace-event-read.c:468)
  ==31357==    by 0x4CD552: process_tracing_data (header.c:1576)
  ==31357==    by 0x4D3397: perf_file_section__process (header.c:2705)
  ==31357==    by 0x4D3397: perf_header__process_sections (header.c:2488)
  ==31357==    by 0x4D3397: perf_session__read_header (header.c:2925)
  ==31357==    by 0x4E71E2: perf_session__open (session.c:32)
  ==31357==    by 0x4E71E2: perf_session__new (session.c:139)
  ==31357==    by 0x429F5D: cmd_annotate (builtin-annotate.c:472)
  ==31357==    by 0x497150: run_builtin (perf.c:359)
  ==31357==    by 0x428CE0: handle_internal_command (perf.c:421)
  ==31357==    by 0x428CE0: run_argv (perf.c:467)
  ==31357==    by 0x428CE0: main (perf.c:614)
  ==31357==  Address 0x8ac0efb is 0 bytes after a block of size 1,963 alloc'd
  ==31357==    at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
  ==31357==    by 0x4F827B: read_ftrace_printk (trace-event-read.c:195)
  ==31357==    by 0x4F827B: trace_report (trace-event-read.c:468)
  ==31357==    by 0x4CD552: process_tracing_data (header.c:1576)
  ==31357==    by 0x4D3397: perf_file_section__process (header.c:2705)
  ==31357==    by 0x4D3397: perf_header__process_sections (header.c:2488)
  ==31357==    by 0x4D3397: perf_session__read_header (header.c:2925)
  ==31357==    by 0x4E71E2: perf_session__open (session.c:32)
  ==31357==    by 0x4E71E2: perf_session__new (session.c:139)
  ==31357==    by 0x429F5D: cmd_annotate (builtin-annotate.c:472)
  ==31357==    by 0x497150: run_builtin (perf.c:359)
  ==31357==    by 0x428CE0: handle_internal_command (perf.c:421)
  ==31357==    by 0x428CE0: run_argv (perf.c:467)
  ==31357==    by 0x428CE0: main (perf.c:614)

Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20170322130624.21881-6-tommi.t.rantala@nokia.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/trace-event-read.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c
index 2742015..8a9a677 100644
--- a/tools/perf/util/trace-event-read.c
+++ b/tools/perf/util/trace-event-read.c
@@ -192,7 +192,7 @@ static int read_ftrace_printk(struct pevent *pevent)
 	if (!size)
 		return 0;
 
-	buf = malloc(size);
+	buf = malloc(size + 1);
 	if (buf == NULL)
 		return -1;
 
@@ -201,6 +201,8 @@ static int read_ftrace_printk(struct pevent *pevent)
 		return -1;
 	}
 
+	buf[size] = '\0';
+
 	parse_ftrace_printk(pevent, buf, size);
 
 	free(buf);

  parent reply	other threads:[~2017-03-28  6:01 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22 13:06 [PATCH 0/6] perf string handling fixes Tommi Rantala
2017-03-22 13:06 ` [PATCH 1/6] perf buildid: do not update SDT cache with null filename Tommi Rantala
2017-03-28  5:56   ` [tip:perf/core] perf buildid: Do " tip-bot for Tommi Rantala
2017-03-22 13:06 ` [PATCH 2/6] perf buildid: do not assume that readlink() returns a null terminated string Tommi Rantala
2017-03-28  5:56   ` [tip:perf/core] perf buildid: Do " tip-bot for Tommi Rantala
2017-03-22 13:06 ` [PATCH 3/6] perf tests: do " Tommi Rantala
2017-03-28  5:57   ` [tip:perf/core] perf tests: Do " tip-bot for Tommi Rantala
2017-03-22 13:06 ` [PATCH 4/6] perf utils: use sizeof(buf)-1 in readlink() call Tommi Rantala
2017-03-28  5:58   ` [tip:perf/core] perf utils: use sizeof(buf) - 1 " tip-bot for Tommi Rantala
2017-03-22 13:06 ` [PATCH 5/6] perf utils: null terminate buf in read_ftrace_printk() Tommi Rantala
2017-03-27 18:28   ` Arnaldo Carvalho de Melo
2017-03-28  5:58   ` tip-bot for Tommi Rantala [this message]
2017-03-22 13:06 ` [PATCH 6/6] perf utils: readlink /proc/self/exe to find the perf binary Tommi Rantala
2017-03-28  5:59   ` [tip:perf/core] perf utils: Readlink " tip-bot for Tommi Rantala
2017-03-27 18:38 ` [PATCH 0/6] perf string handling fixes Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tip-d4b364df5f6540e8d6a38008ce2693ba73a8508a@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=acme@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tommi.t.rantala@nokia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.