Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp648876ybz; Wed, 22 Apr 2020 05:28:03 -0700 (PDT) X-Google-Smtp-Source: APiQypLaZ6spkH36R3Ewl510qnuv+kEGvbhybgF+qX/IKEugFLzjaw/g7g1sPPTANkNDyVlWFo9l X-Received: by 2002:a17:906:809:: with SMTP id e9mr25108602ejd.81.1587558483709; Wed, 22 Apr 2020 05:28:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587558483; cv=none; d=google.com; s=arc-20160816; b=FwEZKcrJVwUsd1r75o1WV+F3lOnaJmNI+dmUibMPcXzEvzr+wLQjfs5p7iW3mY3+lC B041abfHtTVv0gogm6fo+vmMEQtMGCPVm0FYxGwTZUufsg24PAdOS5cS6cv3zorY71mo 0m+HEgXo2CftGg6jDXWCsa8ImxhwyrplSgmFzR5ynIDfHHvRoUfkR1rYYdxmol1gzxO5 psPmXQn68hD4wC5wgu9ud3asinXcUP1fC37dpjsVQ8UzsIstXjovNGI5ltyXkhpvTMPs uPNprkXUzhI68SriStQM/chlTjICbXk/MIXbm3BFKNJM+sPP29g9kd9FhrGov3ZmlUxn 6kmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :robot-unsubscribe:robot-id:message-id:mime-version:references :in-reply-to:cc:subject:to:reply-to:from:date; bh=Jz5LNtPCUv8/wL0O81sr8UszuSZzPzcQD84Vk0LOc4w=; b=PLml+GIhD8mLZOt/K02hr9nGPeCQ1MqxU6ktwPcTH1+bF8DBQd0GY1smiKWoWMV/cE s1tXgD4loHxQCYltXsJqLajcrHgN6/NFF1GpsfLPwQ1Qmyq5hYw98S36zVIb9+YBX6vm iRBEvfEbymcm4j3NOy6bjD+V+aAhI6Is+jwydep1t5HU+CIzWq6G1n7swHKRL9Wqrdq2 r4E2qhhVr6RSjrKnBRLQ0BAhwJl8WdGDo6VTcs02Yd2Ua7+OwmtHPYOp/Oy2ip9C+B3d 7ittyu3OMz13xJ52WDg+iuX0k/OVxIgeh3EqPyHIoqkH/2SBYOZfPiP479vnYCZbjUfr MH7w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dg8si2081629edb.548.2020.04.22.05.27.40; Wed, 22 Apr 2020 05:28:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726849AbgDVMU3 convert rfc822-to-8bit (ORCPT + 99 others); Wed, 22 Apr 2020 08:20:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728758AbgDVMRm (ORCPT ); Wed, 22 Apr 2020 08:17:42 -0400 Received: from Galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36251C03C1A9; Wed, 22 Apr 2020 05:17:42 -0700 (PDT) Received: from [5.158.153.53] (helo=tip-bot2.lab.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1jREJg-0007h7-0q; Wed, 22 Apr 2020 14:17:24 +0200 Received: from [127.0.1.1] (localhost [IPv6:::1]) by tip-bot2.lab.linutronix.de (Postfix) with ESMTP id 831F41C04CD; Wed, 22 Apr 2020 14:17:18 +0200 (CEST) Date: Wed, 22 Apr 2020 12:17:18 -0000 From: "tip-bot2 for He Zhe" Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: perf/core] tools lib traceevent: Take care of return value of asprintf Cc: He Zhe , "Steven Rostedt (VMware)" , Tzvetomir Stoyanov , hewenliang4@huawei.com, Arnaldo Carvalho de Melo , x86 , LKML In-Reply-To: <1582163930-233692-1-git-send-email-zhe.he@windriver.com> References: <1582163930-233692-1-git-send-email-zhe.he@windriver.com> MIME-Version: 1.0 Message-ID: <158755783812.28353.15619168475108123026.tip-bot2@tip-bot2> X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the perf/core branch of tip: Commit-ID: f8ff18be1f5c6ba1c2befb043bea6e7eaf9f8987 Gitweb: https://git.kernel.org/tip/f8ff18be1f5c6ba1c2befb043bea6e7eaf9f8987 Author: He Zhe AuthorDate: Thu, 20 Feb 2020 09:58:50 +08:00 Committer: Arnaldo Carvalho de Melo CommitterDate: Sat, 18 Apr 2020 09:05:00 -03:00 tools lib traceevent: Take care of return value of asprintf According to the API, if memory allocation wasn't possible, or some other error occurs, asprintf will return -1, and the contents of strp below are undefined. int asprintf(char **strp, const char *fmt, ...); This patch takes care of return value of asprintf to make it less error prone and prevent the following build warning. ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Wunused-result] Signed-off-by: He Zhe Reviewed-by: Steven Rostedt (VMware) Cc: Tzvetomir Stoyanov Cc: hewenliang4@huawei.com Link: http://lore.kernel.org/lkml/1582163930-233692-1-git-send-email-zhe.he@windriver.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/lib/traceevent/parse-filter.c | 29 ++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c index 20eed71..c271aee 100644 --- a/tools/lib/traceevent/parse-filter.c +++ b/tools/lib/traceevent/parse-filter.c @@ -1958,7 +1958,8 @@ static char *op_to_str(struct tep_event_filter *filter, struct tep_filter_arg *a default: break; } - asprintf(&str, val ? "TRUE" : "FALSE"); + if (asprintf(&str, val ? "TRUE" : "FALSE") < 0) + str = NULL; break; } } @@ -1976,7 +1977,8 @@ static char *op_to_str(struct tep_event_filter *filter, struct tep_filter_arg *a break; } - asprintf(&str, "(%s) %s (%s)", left, op, right); + if (asprintf(&str, "(%s) %s (%s)", left, op, right) < 0) + str = NULL; break; case TEP_FILTER_OP_NOT: @@ -1992,10 +1994,12 @@ static char *op_to_str(struct tep_event_filter *filter, struct tep_filter_arg *a right_val = 0; if (right_val >= 0) { /* just return the opposite */ - asprintf(&str, right_val ? "FALSE" : "TRUE"); + if (asprintf(&str, right_val ? "FALSE" : "TRUE") < 0) + str = NULL; break; } - asprintf(&str, "%s(%s)", op, right); + if (asprintf(&str, "%s(%s)", op, right) < 0) + str = NULL; break; default: @@ -2011,7 +2015,8 @@ static char *val_to_str(struct tep_event_filter *filter, struct tep_filter_arg * { char *str = NULL; - asprintf(&str, "%lld", arg->value.val); + if (asprintf(&str, "%lld", arg->value.val) < 0) + str = NULL; return str; } @@ -2069,7 +2074,8 @@ static char *exp_to_str(struct tep_event_filter *filter, struct tep_filter_arg * break; } - asprintf(&str, "%s %s %s", lstr, op, rstr); + if (asprintf(&str, "%s %s %s", lstr, op, rstr) < 0) + str = NULL; out: free(lstr); free(rstr); @@ -2113,7 +2119,8 @@ static char *num_to_str(struct tep_event_filter *filter, struct tep_filter_arg * if (!op) op = "<="; - asprintf(&str, "%s %s %s", lstr, op, rstr); + if (asprintf(&str, "%s %s %s", lstr, op, rstr) < 0) + str = NULL; break; default: @@ -2148,8 +2155,9 @@ static char *str_to_str(struct tep_event_filter *filter, struct tep_filter_arg * if (!op) op = "!~"; - asprintf(&str, "%s %s \"%s\"", - arg->str.field->name, op, arg->str.val); + if (asprintf(&str, "%s %s \"%s\"", + arg->str.field->name, op, arg->str.val) < 0) + str = NULL; break; default: @@ -2165,7 +2173,8 @@ static char *arg_to_str(struct tep_event_filter *filter, struct tep_filter_arg * switch (arg->type) { case TEP_FILTER_ARG_BOOLEAN: - asprintf(&str, arg->boolean.value ? "TRUE" : "FALSE"); + if (asprintf(&str, arg->boolean.value ? "TRUE" : "FALSE") < 0) + str = NULL; return str; case TEP_FILTER_ARG_OP: