Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4103829pxv; Mon, 5 Jul 2021 14:00:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwoCRelKMPxZKKdL5pcSSFl2SmdG18Nb8iirwpInbYdDiny+q7NBbBnbQ5OkN7c0I0hUGAP X-Received: by 2002:a92:7c11:: with SMTP id x17mr11192232ilc.224.1625518850446; Mon, 05 Jul 2021 14:00:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625518850; cv=none; d=google.com; s=arc-20160816; b=aEowKZO1oJrzx5aaUwRRAy5yLbIVO3aKoI11Hol2zmmYtJqu8eClTd6gkDbyDSFbmp HmWkNbOSUu7SQUlYXn34PqY6IWuia+evdcsNu6cx+z+DAfk8lOH5964ifwgmG9j+bPbn BR1j+lqCSj47XSMlMnk6j57hzqIjgYBpAKHBSJlSJK9I+IJveP7aV2wXX9fjpNdqQtnE E5adIR1ochqKSn0zSO+H/FMZmyu4uYeemKuTkG46W1TrHEhkJacDu8aTddBuybcNZ0to DUKtAfKuocaMS8cueJ0tQIpOoVTYdtsdVZvYm3NrWX1p6Tu/jP6iVjKY2l2pCTjlPXPi 5gUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=JrOy6xW04SYvDDkDPbI1QqWBeTOnbV+2ClWUCShz4UY=; b=xeu4pXMbuepi9jXJywzUWfTw/leLaxn7AOStXObcFzYufR+/80bISsnd3HoSYXP2+Q RVjQ7qQBLzufR96gZH7ftcPcseajrSc905NL+kj+gCaByJsWtQj5JijNX4QkrlUkhyXu Dd94/MkTO2OgO9bwltimmjKnV7syb6XbpIuNw06aIXMbFDp1BS8igA1CGYl1VijzpCgo D1wYYvp6nPZa8WJezLfif5F0+Oj2gwn32RJ5EK3+E0yA2kJnmWCvV74BJGvh4tsqaVHa hGr3CKSgcj3k5ICUXI9TyMmZHICOZPx/qdzHqeBvy6AC2Au0idne41zH/FPCrPI54ggn BWzw== 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 h5si17735587iol.44.2021.07.05.14.00.37; Mon, 05 Jul 2021 14:00:50 -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 S230055AbhGEVBd (ORCPT + 99 others); Mon, 5 Jul 2021 17:01:33 -0400 Received: from www62.your-server.de ([213.133.104.62]:32786 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229904AbhGEVBd (ORCPT ); Mon, 5 Jul 2021 17:01:33 -0400 Received: from sslproxy02.your-server.de ([78.47.166.47]) by www62.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1m0Vg5-00020R-MB; Mon, 05 Jul 2021 22:58:53 +0200 Received: from [85.5.47.65] (helo=linux-3.home) by sslproxy02.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m0Vg5-000B9F-FH; Mon, 05 Jul 2021 22:58:53 +0200 Subject: Re: [PATCH] tools: bpftool: close va_list 'ap' by va_end() To: gushengxian , ast@kernel.org, andrii@kernel.org Cc: netdev@vger.kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org, gushengxian References: <20210701120026.709862-1-gushengxian507419@gmail.com> From: Daniel Borkmann Message-ID: Date: Mon, 5 Jul 2021 22:58:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <20210701120026.709862-1-gushengxian507419@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.103.2/26222/Mon Jul 5 13:05:31 2021) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/1/21 2:00 PM, gushengxian wrote: > From: gushengxian > > va_list 'ap' was opened but not closed by va_end(). It should be > closed by va_end() before return. > > Signed-off-by: gushengxian nit: 'From:' and 'SoB:' should be in standardized form, I presume in your case this would be: Gu Shengxian > --- > tools/bpf/bpftool/jit_disasm.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/bpf/bpftool/jit_disasm.c b/tools/bpf/bpftool/jit_disasm.c > index e7e7eee9f172..3c85fd1f00cb 100644 > --- a/tools/bpf/bpftool/jit_disasm.c > +++ b/tools/bpf/bpftool/jit_disasm.c > @@ -45,8 +45,10 @@ static int fprintf_json(void *out, const char *fmt, ...) > char *s; > > va_start(ap, fmt); > - if (vasprintf(&s, fmt, ap) < 0) > + if (vasprintf(&s, fmt, ap) < 0) { > + va_end(ap); > return -1; > + } > va_end(ap); Small nit, please change into something like: va_list ap; char *s; + int err; va_start(ap, fmt); - if (vasprintf(&s, fmt, ap) < 0) - return -1; + err = vasprintf(&s, fmt, ap); va_end(ap); + if (err < 0) + return -1; if (!oper_count) { int i; Fwiw, man page says: "On some systems, va_end contains a closing '}' matching a '{' in va_start, so that both macros must occur in the same function, and in a way that allows this.". Thanks, Daniel