From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755255AbbCXQc5 (ORCPT ); Tue, 24 Mar 2015 12:32:57 -0400 Received: from terminus.zytor.com ([198.137.202.10]:56862 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752767AbbCXQcw (ORCPT ); Tue, 24 Mar 2015 12:32:52 -0400 Date: Tue, 24 Mar 2015 09:32:32 -0700 From: tip-bot for Arnaldo Carvalho de Melo Message-ID: Cc: tglx@linutronix.de, jolsa@redhat.com, namhyung@kernel.org, adrian.hunter@intel.com, bp@suse.de, dsahern@gmail.com, dzickus@redhat.com, fweisbec@gmail.com, acme@redhat.com, linux-kernel@vger.kernel.org, mingo@kernel.org, hpa@zytor.com, eranian@google.com Reply-To: hpa@zytor.com, eranian@google.com, linux-kernel@vger.kernel.org, mingo@kernel.org, dsahern@gmail.com, acme@redhat.com, fweisbec@gmail.com, dzickus@redhat.com, adrian.hunter@intel.com, namhyung@kernel.org, bp@suse.de, tglx@linutronix.de, jolsa@redhat.com To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf target: Simplify handling of strerror_r return Git-Commit-ID: 17e44dc46f035ca27847bbf75ffd3072ed49f13c X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 17e44dc46f035ca27847bbf75ffd3072ed49f13c Gitweb: http://git.kernel.org/tip/17e44dc46f035ca27847bbf75ffd3072ed49f13c Author: Arnaldo Carvalho de Melo AuthorDate: Mon, 23 Mar 2015 18:23:02 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Tue, 24 Mar 2015 12:08:30 -0300 perf target: Simplify handling of strerror_r return To deal with forwarding the strerror_r (GNU) return we need to check if the returned value is the buffer we passed or maybe some constant (unknown error), simplify that action by using scnprintf, that will do all the buflen size checks, trimming if needed. Acked-by: Jiri Olsa Acked-by: Namhyung Kim Cc: Adrian Hunter Cc: Borislav Petkov Cc: David Ahern Cc: Don Zickus Cc: Frederic Weisbecker Cc: Stephane Eranian Link: http://lkml.kernel.org/n/tip-d0ik6i5gjew56j0qphql28ou@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/target.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tools/perf/util/target.c b/tools/perf/util/target.c index e74c596..a53603b 100644 --- a/tools/perf/util/target.c +++ b/tools/perf/util/target.c @@ -123,11 +123,8 @@ int target__strerror(struct target *target, int errnum, if (errnum >= 0) { const char *err = strerror_r(errnum, buf, buflen); - if (err != buf) { - size_t len = strlen(err); - memcpy(buf, err, min(buflen - 1, len)); - *(buf + min(buflen - 1, len)) = '\0'; - } + if (err != buf) + scnprintf(buf, buflen, "%s", err); return 0; }