Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1161768pxu; Fri, 27 Nov 2020 00:52:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJzDtKKVPlSUWqPww5hGslKdT2MsQr2oJ6Xwu20lmuLBk10ti6pcFdbmS+uCmh2VmMQ6w7sk X-Received: by 2002:aa7:c4c2:: with SMTP id p2mr6628466edr.371.1606467169103; Fri, 27 Nov 2020 00:52:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606467169; cv=none; d=google.com; s=arc-20160816; b=aoN//p8KgBe0X/nxVtWde5wQhUIQ9UELkA/ILqbUf0auwmICz/k0TRH68MEFy/++8B l22ctnKexD5lU2zKByiWhBoLoV/TKyfBUoGNiNJSm0o7b2nEBo8PcF9/FSo8gQ1n4JX3 sUrcGmH6lEdcioHF6x3O/M0CdopCWj/EsqZHwy6dApxKoOioFfIcVd+7I5/pX6lX918l bAaQHx8gBwqDqdS7FZzVjmaAvfkU1P/BYj8RsHQlZ7ULna+8KPDBl7OXJYIZ9yUWXy5O GNiQp61QgT3m12BqgqudF8p2Xrd/Z/GJqKWnY08f7F3JU2J8V0jY2I3K58YSEzKCpFny xByA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject; bh=uYE3mHtFzkXnfFemieYYllVFpGdHKuSRDmk4SnajUl4=; b=tcdycnjNWeJrX9tj4riugYGqdMACRvRoZlAPongURnqJ6vYH7QoouVQG5zh5nyTiHV pHEQz93uBJv8/0wHQNr4P9zHjikt2A0IE8RThy8YDwKlJshSke+cnh+Zz3qAWa7aCvfj 5wUrEF264OieXIzhyLd2AEtmSTkWDnMk3a9T8iBF3qDoEvk492CZP80IAHqFAj7EvkVj WkRH/Q6vkbsmjfs8+KvhCqLRNSQnCVhVICPCA7l/uHZz+oFzsDPEyxsf+5yzd0NBwv2D HxwdQXKavUE5VBOQRsvj/myRfRleYVSvZNjgLwuc2Kd5XlFV2s+Wn+iVk+lE0D9JrO/h CHag== 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 k7si4760571eds.198.2020.11.27.00.52.26; Fri, 27 Nov 2020 00:52:49 -0800 (PST) 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 S2392734AbgK0Hpu (ORCPT + 99 others); Fri, 27 Nov 2020 02:45:50 -0500 Received: from szxga05-in.huawei.com ([45.249.212.191]:8599 "EHLO szxga05-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388333AbgK0Hpu (ORCPT ); Fri, 27 Nov 2020 02:45:50 -0500 Received: from DGGEMS403-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4Cj69T60lGzLvt5; Fri, 27 Nov 2020 15:45:17 +0800 (CST) Received: from [10.174.178.154] (10.174.178.154) by smtp.huawei.com (10.3.19.203) with Microsoft SMTP Server (TLS) id 14.3.487.0; Fri, 27 Nov 2020 15:45:40 +0800 Subject: Re: [PATCH -next] perf util: Fix memory leak in __parse_regs() To: Jiri Olsa CC: , , , , , References: <20200703093344.189450-1-zhengzengkai@huawei.com> <20200703103106.GA3261456@krava> From: Zheng Zengkai Message-ID: <0e52c7be-ca81-2f4d-ee2f-8f9ced382f60@huawei.com> Date: Fri, 27 Nov 2020 15:45:40 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20200703103106.GA3261456@krava> Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.178.154] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ping... > On Fri, Jul 03, 2020 at 05:33:44PM +0800, Zheng Zengkai wrote: >> when using perf record option '-I' or '--user-regs=' >> along with argument '?' to list available register names, >> memory of variable 'os' allocated by strdup() needs to be released >> before __parse_regs() returns, otherwise memory leak will occur. >> >> Fixes: bcc84ec65ad1 ("perf record: Add ability to name registers to record") >> Signed-off-by: Zheng Zengkai > Acked-by: Jiri Olsa > > thanks, > jirka > >> --- >> tools/perf/util/parse-regs-options.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/tools/perf/util/parse-regs-options.c b/tools/perf/util/parse-regs-options.c >> index e687497b3aac..a4a100425b3a 100644 >> --- a/tools/perf/util/parse-regs-options.c >> +++ b/tools/perf/util/parse-regs-options.c >> @@ -54,7 +54,7 @@ __parse_regs(const struct option *opt, const char *str, int unset, bool intr) >> #endif >> fputc('\n', stderr); >> /* just printing available regs */ >> - return -1; >> + goto error; >> } >> #ifdef HAVE_PERF_REGS_SUPPORT >> for (r = sample_reg_masks; r->name; r++) { >> -- >> 2.20.1 >> > . >