From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759613AbdCVNIw (ORCPT ); Wed, 22 Mar 2017 09:08:52 -0400 Received: from mail-eopbgr50124.outbound.protection.outlook.com ([40.107.5.124]:45025 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759592AbdCVNIK (ORCPT ); Wed, 22 Mar 2017 09:08:10 -0400 Authentication-Results: infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=none action=none header.from=nokia.com; From: Tommi Rantala To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin CC: , Tommi Rantala Subject: [PATCH 5/6] perf utils: null terminate buf in read_ftrace_printk() Date: Wed, 22 Mar 2017 15:06:23 +0200 Message-ID: <20170322130624.21881-6-tommi.t.rantala@nokia.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170322130624.21881-1-tommi.t.rantala@nokia.com> References: <20170322130624.21881-1-tommi.t.rantala@nokia.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [131.228.32.186] X-ClientProxiedBy: DB6P191CA0022.EURP191.PROD.OUTLOOK.COM (10.175.236.160) To DB6PR0701MB2358.eurprd07.prod.outlook.com (10.168.75.12) X-MS-Office365-Filtering-Correlation-Id: f3dc5e27-d9de-46c4-0b6a-08d471244796 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:DB6PR0701MB2358; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2358;3:ZLSOhTAp5ms4z5DR2bWFNCVaNIB6WOPN677zwjaC4tsbWk6kvwSLSo9sM/IbSbodAl8YBRvN1LB4YVFt9MQYGhJMlT/2vbCMAPk4cLEXFBLKYXD3/INREXcZU/2kza7Y26l0+DKzgHSJI6TVDm1Cg1GfO3b4MH7z2rBtOdhKk1Ziv/dVZWRZJYCp320Uq4UM0pt9UftuiZCANm5DGMB/jMZME/bla6G/z2NfILSZ9/QGBXGSJZbsjJx2IxJircZhtKNQtTsfhnjfIYIFE9AQyzLBXoilXSo9HmHw3vl9osw=;25:gLHDsRE9QqNg4WXESOmhhzzUi8z5EThJsY1Te6y+5ahcYsZPi/Wx/9CVvUC7PMSTd4OS6PFYiEFmlbQ2vT38FXcxvttUO0DnV2nI4LKrBi6S/fJIdXz1A9K5DLVYDQE3w34rJA4CXHACI4QsGgupsUaltx2r+GAYkPA1LQCEmPdJN6DjbftKLU57WcSUQkRFLGunVGxFgZpO84TdpKp1gjJgqjI0Uy2KKZRUzhb91Trxf/vQJqYRaYAiI2UErr1puUWyI+wkRPyfkz0IGCDY20fsTjcwB+KiuEcjq2la1iHEHomM5X1KUwvT58iSMmFe9+/Z0wKRD1M8tcGFbV1vLm9Ir245SJUOx8Up5FQYf77xab/RI8s/On1wOeGfY9zDX11/4a9GXyzzo5LWqnaSLpsCQGXEF21Yw2AA/RCHGh/ge9GhfGwnEIZIrCBeOzNl+13ExSxUmOtrI5rtnTJyeA== X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2358;31:cPn5oRP7ALSGe6qjUW3HWF6yJxgurWnArzDOxvnqDJNnTWhlu2Ryy9jR2IV6easAw6L8Rf4kNl7fIyZ6zs8zstZ12gu/c0dOdpsdnw9wD04KfzdHhyRIN1P+eqiAIPkxk9AEFtq8x2O0GXlcVRR3zvHwfAPA44XUQ8sVSIFDeei7XI22DqDHKaHQ3pcnYaWMA3ulHxax/DqYcJC/Xgqevwt4QDxngz7N+A38dPedJoI=;20:J7QnMTeRapTwOHlAQY3WKin7f/gBk3SzizDPUjGdPTpJM0zDtW6+LQujvpbO6phLAeWodk7z7dDbxmd0QXEa0ZK51I0t4of4X8ilJ4lB7Zp1/fcvyPOlTGhkp6aIRDwVskYJyf+ZYktp8BHdB5YKI5i5Zrwhfl3DxCLQDlhzhSyzx9graFDsCHrqNzRUXJgBv89/klGbM0pfMpkIf4AjmEfTq4rcmkxFBNLWp5t9vQRvapp2pcbhjc8kXhtkkZD1ZqkiyloFePekSVI8PQoJvnsj+a3k/o55FBtZFhcrOX+uTj4+rlI5Cs2tl7rEW/NH2ETTryNVADVcbURy8nE0bjZNMArNeJVw398Stv0kTByechJ7XjqRg00NTFmfNM1hVv1UGd1efug8AED+Y2BYr+uG2efDq3fgqdEbbhaa4dl+P8rbRs25Ny0Xc4tMUL/TZ765yUD+3nbF9wc9dPPwmKV7/ahMtXiCpAgO6r0aaeKZoOq9r/khOq0w1dO7fW2n X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(82608151540597); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123562025)(20161123560025)(20161123558025)(20161123555025)(6072148);SRVR:DB6PR0701MB2358;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0701MB2358; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2358;4:IF6ARH+NnyoemEbZ+zjgUH/OBlszsXcFXE5VPp6M6z8kgltnetYV/eIpQQgCgc1rXZCZUOWiimoGtpmBg+nscwYRynRPK7wTb/JCaIa0MYLceQYrnqGfi/F8xX6zjzYTm2C8HAD3eN3UGf7AkRqEYNW+Lex9h8fHR/6fL1OeCxVth7rCuiH6qb0w0EFGGQJZ+Zl/JLW90dnQPAom5NSJrHftaudwSo+8kyPV1pfgoVw+OUtvM9pqDASbtFY8BfznSbJ0X6Em4h/+HtLNdk+bDBXkpEdPIHcWG86om8yyzs5uGLwQjI01ZIEa9qCyVLlIbziKe9x0QmOKy+knC/9cJLYMrssvPwozKKDmGBZOwgl0k1vdJu/NFlDXq1vhDMxudXEAuh6ZzKrp90ROWULmr0jHBs/jmDOa9y8c6biEnMi9hoBoBCKKAq0F9cYRdzEnz2JBfOv5d/IW6rYbZJneaasxuvToxHEpRDTGNT/G+03IO0QyvmCAxvmlGcYrzvE9C0rnGOH+JsdQvUeW9IvmVgJyTWR2mlMoJfwUrqMX56hMyn0Wpip2g+D7rhZfkDKmMTxfrc/5oxnah/YmJD87dFREibreu2kwqGwq9eRyv+y7KnAqLe4Mt/73bJ6D4VvA3wicehPD1JJew18VSgBPfdJG2DjtcYkwX46Umkjx93c= X-Forefront-PRVS: 02543CD7CD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39840400002)(39860400002)(39410400002)(39450400003)(39850400002)(50466002)(66066001)(42186005)(6486002)(6506006)(81166006)(2950100002)(6666003)(47776003)(5003940100001)(8676002)(6512007)(5660300001)(2906002)(103116003)(50986999)(76176999)(25786009)(4326008)(36756003)(38730400002)(107886003)(1076002)(189998001)(50226002)(33646002)(53936002)(3846002)(6116002)(48376002)(575784001)(7736002)(305945005)(86362001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0701MB2358;H:trfedora.emea.nsn-net.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0701MB2358;23:3RRqRjgc7UPqsNUtQn1Yz1q5RFv3dP1C5wcLtGv?= =?us-ascii?Q?66NmL8ssUT1soJyxyzyTwKw1zOYkKtJ0vJzZnARXiWE5m4bM2lwZcYPhdmWu?= =?us-ascii?Q?hAiNhb95lCdCc1aTdFAFraAr21diH0zG7MVUO3niYw6hIxAq8aFcF8IFj+bg?= =?us-ascii?Q?3fISfAd10+4GXRPC5POMs32DszC419OvtzMK5gQVeva7AEE+GZ6eDTmaaQrY?= =?us-ascii?Q?7u8HwDb1ssO8pZOyN288PCnsCVPPcZiM2antQn27LPNovW1AwEHwhEjzj7pM?= =?us-ascii?Q?m6yCefa4s+PIsMTKQdrKYf9IWVy3E2wYnSRfA/ASQocYZNBRmaLYNjBesLSf?= =?us-ascii?Q?rKF04X2WSqR5fXtcejjphZ9gFeQqtNGKj9vXFKD2KPAgi7HiW8IXNZ0Hl+Kq?= =?us-ascii?Q?q2hPUzrgwPPoePxZp6n2RRhw13wGhJX9EEQYcbZS/zCFtbiNHfmXJdXXk9Ot?= =?us-ascii?Q?1a3Qo+TEhe+U7qo9wCq33/PefA+BRaCUkOJHl2XJ90dVlDpnUoir+s2D6lPf?= =?us-ascii?Q?4nxecm6sft9l4Zh6zWj6oZ5IIE9iN9eN/faz6YY+r48BaKMGoDYBYu7An8qc?= =?us-ascii?Q?64em0QnRyAJl/HCkqT9OTa6igiPmSMVnl5jKyUe97mpLJTUG78DdXva0bjry?= =?us-ascii?Q?ZgF5ZvNfTz37DPRRDusYtVf7EZCJtBuhzDZJAWE7BzZpDHHIxCvguRKzYfZ5?= =?us-ascii?Q?EgXhDuDWjR3v2+jRw8rDFcYVxh0T0OvoII8ukKPX8wpU5r/z+fjWMp9Ne/s9?= =?us-ascii?Q?yRYX9OhkKZ7DJAkaDV5RR+C18JABZ7fKs3bD49uhl1r2sR9TCV1E5vv7AuRW?= =?us-ascii?Q?a25OkKo43Q0/jvLGNi1HhdaYjb3IaF/SOi5uz1KM79wHvXEZ/OptrTxSUa3o?= =?us-ascii?Q?V2/8fUGx1PlXfbMshqTqjNKyu9maWtXNPsmmGfrnvtVsfFpOmsusXoOHMdj3?= =?us-ascii?Q?eZ3iQFri7X4OyIZiq0g96FCs00PwW1eqvr6cQ/HX0Fj2Gxu6CATTwLqF0dSn?= =?us-ascii?Q?ds+by6sOMRYcK/8z8kw04noUOukI35FzArje5IbTZvoBWZE9i1SJPVBZNhmf?= =?us-ascii?Q?anh2YIA8=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2358;6:SwBdalcWo/3i6EV94oJxB/c3/Ti6yWMovUj/tpfRS9hTMsY66416w4eGqCMU9mIQAz3kmtw6S1VuWweoUr0YLqaR6RsdRXMnMd8Z+EnloPQgTyEREUIti0bUw4EryQl43YXrpqMrP1ueO/PLBYiHrKyDhf4dkNu018Qb5mlx515TdkxVCMl+cyhUoNWQwhexM9KvqZZ0SiqZ0Ehwe9rLa1ls3yfSHj4VPXAZLTd0Q/LQoo5rNwOn3eWzLuCQ8QOvGqHxz8L7bXyGgcMyrwhXtV5r5gEnCGQE9fmq+Y5/nHogc7mICqhryXOHlJxtv0QK4bYmMRItjBRGKMcaki7SJ0cZNP1g2a/agrEm8s7Lggx3Ls+b4vlEzReD8faLawsWD+/N2UsGgjdQbiVW7zgGLyvzHV5AZPj7ca0jtuC3d7o=;5:AqxDd1hK+SYkZfs3H593VBx7KQe+u0zAjPPSENFyvK3Nnys/yVioxdmv4bFukYrJHqUBXf0O5dWQM0fkRDioLBNIb+ozYcYHfEnQvDidq82Xj7yJhIGB80rPGn61LoSn2pB7jgsmWZinG9BpGYWKuw==;24:ZljVDkPHAOj8PpLI/K1JZ6xo6MyK710m8DflIIrfRnmuAnYiPBkCO8/9XqP1bUltiNhq+oagTyznwLjA1BD4D6nq1GxQtiXjexV6otvabOU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0701MB2358;7:TO+V9O9ndIuVZm1+yFcISpmFUXdAfZDqq+rp8dyoHsqKpEDwRCPKHgALP/2lGw07OE2w2Ovurgp089FI5/Za6G3SZC2WRyiNbP2RpQKBBvLMoyONhN/wVA36RF4v4ZYzLTr/gAhWomSyqEymgoQbqWnbl7n+1b38PIoXzpN5m5UOcfirHuIQUzZEQ+mT2edl4JnDqDe6Fa7GdWzzCZE9w3W8GjyjmPgfYTQ9FN40s7b8kKsO+RekHhU7nMBGCGyNSO/Yz1h+6QSx/Zb9jqGXlE5pcGEAKnEH7p7oW7b7pg2rrm3ptR6zf7GXtGsUl4ZaNNyuLnq5dfhpovzMh3GlMg== X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2017 13:06:39.5035 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0701MB2358 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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..04605c0 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); -- 2.9.3