From patchwork Tue Oct 22 16:48:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kevin Wolf X-Patchwork-Id: 837558 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1f12:b0:37d:45d0:187 with SMTP id hh18csp30672wrb; Tue, 22 Oct 2024 09:51:10 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV+yZdaSP9Z6SEQk08Op+ocDl/lIiDdi460GL/PxglEPADdf2U6v9Xzh2+3SnagA2G3HsntZg==@linaro.org X-Google-Smtp-Source: AGHT+IG0X8obSAI3580Ox6m7UF1m1LNqeb0Xub+szi+o5XuDlJ5/NRJ2ViXWyR8F2UCiyHKMLBzk X-Received: by 2002:a05:620a:1a0a:b0:7af:c47b:4d78 with SMTP id af79cd13be357-7b17dd545afmr7352685a.65.1729615869821; Tue, 22 Oct 2024 09:51:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1729615869; cv=none; d=google.com; s=arc-20240605; b=Nv3DrUz25Ww1SNAJFOCaDXjPlK5K1d8Q4Q5xQJqtT+87AM/A50U8ST/z99uZVwWoq4 E21WDinLG2lPCy+Z+cZFNtkJc4EUrbR1n9/IIlD1zILEmsdHLKe+5Tc/WoMIJz0jjOnO AjPAryn4aaatoK/glA+NnAsufc8W3+xL3EUCfLiCCLGqvJ52t9oWVrwaLvAV+kx/mqGQ 8gV/lCke7iWNgeveqy/0dQc1Qt34B5FGvct/D6llShhT4+/5hjWmow0JBkdgCH8uvqGJ WEbu1d+bkK+jOzQBRIOOo/t+DPNLoJxss/EPurrD9od419mAmZWFwsosLCoQ+fQzmPA1 xVqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=HrwhFD+yJwwRK0vf/7Ph/1BLKTn0dL60XtkUPqjTahc=; fh=DkMPhUKd9sPH54E787Eo1un9xTCJDQ1/hOBahn/sEPI=; b=H38X5twX7ElPqhbRWTf6OzhiwW9Fr2JMcTMCsLsnT7EyQtZkFIsYUmZlY4uT1VDDr5 KIJ4p//GHfq6+EXGfe15jIEXuXxwlqRSJpLNBq7JxwkypiTPb2QN7q9g4gIqlbwQ5946 ru0O0LJJCA5j8bkWqWOqISTEW7IvNzGe+doB+bZb9+P+BMVwtG3g3gI9Q+Y8iJiKdBlZ O6RyVNF2ZJNjr9KPqDHoFisxrJwQtIJIx1bNWVq3T30ZWM5Sjh0/QhKfpcw0lkgo9qG/ J2z21tMe+cNAeRgVjJqqNUIio9QwxBkKqX6yBSKHV2rl5qfdYxyPB/iiegNwqOvL4KaJ rqjA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=E0rn3F7h; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7b1659fa248si754417785a.175.2024.10.22.09.51.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 22 Oct 2024 09:51:09 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=E0rn3F7h; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3I4d-0000PF-Fw; Tue, 22 Oct 2024 12:49:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3I4a-0000Hv-1H for qemu-devel@nongnu.org; Tue, 22 Oct 2024 12:49:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3I4X-00064a-8j for qemu-devel@nongnu.org; Tue, 22 Oct 2024 12:49:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1729615759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HrwhFD+yJwwRK0vf/7Ph/1BLKTn0dL60XtkUPqjTahc=; b=E0rn3F7hq+7ZFw4p38azUOIKsyUuKYDyU0WXotKPGSuvdgrjcT0xMVqjTzqlVXNM6on4cv eM2x9bDYZB4Na8R6Yh0h7dtVvPXainfDqPWVxCpqCTJmpoeHXDk0dsW5dwzUm0UAZMS/Wd bx5CL4RipIADEryaIRWZnJormXftyhg= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-536-WRJkCBd6NyuXEFf1vxyxyQ-1; Tue, 22 Oct 2024 12:49:16 -0400 X-MC-Unique: WRJkCBd6NyuXEFf1vxyxyQ-1 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0DA2B1956046; Tue, 22 Oct 2024 16:49:15 +0000 (UTC) Received: from merkur.fritz.box (unknown [10.39.194.70]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id C0C3A1956056; Tue, 22 Oct 2024 16:49:12 +0000 (UTC) From: Kevin Wolf To: qemu-block@nongnu.org Cc: kwolf@redhat.com, qemu-devel@nongnu.org Subject: [PULL 1/9] block/gluster: Use g_autofree for string in qemu_gluster_parse_json() Date: Tue, 22 Oct 2024 18:48:55 +0200 Message-ID: <20241022164903.282174-2-kwolf@redhat.com> In-Reply-To: <20241022164903.282174-1-kwolf@redhat.com> References: <20241022164903.282174-1-kwolf@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 Received-SPF: pass client-ip=170.10.133.124; envelope-from=kwolf@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.519, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Peter Maydell In the loop in qemu_gluster_parse_json() we do: char *str = NULL; for(...) { str = g_strdup_printf(...); ... if (various errors) { goto out; } ... g_free(str); str = NULL; } return 0; out: various cleanups; g_free(str); ... return -errno; Coverity correctly complains that the assignment "str = NULL" at the end of the loop is unnecessary, because we will either go back to the top of the loop and overwrite it, or else we will exit the loop and then exit the function without ever reading str again. The assignment is there as defensive coding to ensure that str is only non-NULL if it's a live allocation, so this is intentional. We can make Coverity happier and simplify the code here by using g_autofree, since we never need 'str' outside the loop. Resolves: Coverity CID 1527385 Signed-off-by: Peter Maydell Reviewed-by: Kevin Wolf Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20241008164708.2966400-2-peter.maydell@linaro.org> Reviewed-by: Richard Henderson Signed-off-by: Kevin Wolf --- block/gluster.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/block/gluster.c b/block/gluster.c index f03d05251e..e9c038042b 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -514,7 +514,6 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf, SocketAddressList **tail; QDict *backing_options = NULL; Error *local_err = NULL; - char *str = NULL; const char *ptr; int i, type, num_servers; @@ -547,7 +546,8 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf, tail = &gconf->server; for (i = 0; i < num_servers; i++) { - str = g_strdup_printf(GLUSTER_OPT_SERVER_PATTERN"%d.", i); + g_autofree char *str = g_strdup_printf(GLUSTER_OPT_SERVER_PATTERN"%d.", + i); qdict_extract_subqdict(options, &backing_options, str); /* create opts info from runtime_type_opts list */ @@ -658,8 +658,6 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf, qobject_unref(backing_options); backing_options = NULL; - g_free(str); - str = NULL; } return 0; @@ -668,7 +666,6 @@ out: error_propagate(errp, local_err); qapi_free_SocketAddress(gsconf); qemu_opts_del(opts); - g_free(str); qobject_unref(backing_options); errno = EINVAL; return -errno;