Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757040Ab0DNWdB (ORCPT ); Wed, 14 Apr 2010 18:33:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52458 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750939Ab0DNWc6 (ORCPT ); Wed, 14 Apr 2010 18:32:58 -0400 From: Masami Hiramatsu Subject: [PATCH -tip 2/6] perf probe: Fix mis-estimation for shortening filename To: Ingo Molnar , Arnaldo Carvalho de Melo , lkml Cc: systemtap , DLE , Masami Hiramatsu , Arnaldo Carvalho de Melo , Paul Mackerras , Paul Mackerras , Peter Zijlstra , Mike Galbraith , Frederic Weisbecker , Ingo Molnar Date: Wed, 14 Apr 2010 18:39:35 -0400 Message-ID: <20100414223935.14630.11954.stgit@localhost6.localdomain6> In-Reply-To: <20100414223921.14630.62353.stgit@localhost6.localdomain6> References: <20100414223921.14630.62353.stgit@localhost6.localdomain6> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1551 Lines: 47 Fix mis-estimation size for making a short filename. Since the buffer size is 32 bytes and there are '@' prefix and '\0' termination, maximum shorten filename length should be 30. This means, before searching '/', it should be 31 bytes. Signed-off-by: Masami Hiramatsu Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Frederic Weisbecker Cc: Ingo Molnar --- tools/perf/util/probe-event.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 1c4a20a..6d43839 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -806,12 +806,12 @@ static char *synthesize_perf_probe_point(struct perf_probe_point *pp) goto error; } if (pp->file) { - len = strlen(pp->file) - 32; + len = strlen(pp->file) - 31; if (len < 0) len = 0; tmp = strchr(pp->file + len, '/'); if (!tmp) - tmp = pp->file + len - 1; + tmp = pp->file + len; ret = e_snprintf(file, 32, "@%s", tmp + 1); if (ret <= 0) goto error; -- Masami Hiramatsu e-mail: mhiramat@redhat.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/