From nobody Sun Apr 28 09:47:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1568890215; cv=none; d=zoho.com; s=zohoarc; b=C85enhJ1xo7jwDN5WWEpP+oKQ1Rq26+RuI74V5yH2waOSb7phknWuh0J4DJHF4N2SkERsQk+Vn5ijSy9A6YMayOQpWyB5aDOBfIvajqN6uZtC7AcoS5KWPSQtJcoKiKx4RZboqpYPJUGfyJAeZI9ejGiRhnQH6kCx1q5eNNAPAY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1568890215; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=1HKFkhZ+eTK82ZXzfDk0KUu9g7xpwtvyj9JC6JWHyPY=; b=NX8s6BJJWKtKD9wMqB/m4uewI++05oACoZaZy0PvOTVYz4kM4pdW7qQJveLkwDnHiSv6kBWtUs3/+Q9jR1Dy2f+1S18kIWR+a8ZImQGjf8y9sjpUccrkL7Yp/uX/u3wqDRMeTmnq1Eqff51bfm995ltpWb98feQXMmhqYleEeAc= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1568890215421505.5620205590475; Thu, 19 Sep 2019 03:50:15 -0700 (PDT) Received: from localhost ([::1]:42286 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAu0j-0006Ah-GS for importer@patchew.org; Thu, 19 Sep 2019 06:50:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55576) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iAtzw-0005ht-Sc for qemu-devel@nongnu.org; Thu, 19 Sep 2019 06:49:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iAtzv-0004Yg-Q4 for qemu-devel@nongnu.org; Thu, 19 Sep 2019 06:49:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55128) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iAtzv-0004YL-KS for qemu-devel@nongnu.org; Thu, 19 Sep 2019 06:49:15 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ADF7C4E4E6 for ; Thu, 19 Sep 2019 10:49:14 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-74.brq.redhat.com [10.40.204.74]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 44589608C2; Thu, 19 Sep 2019 10:49:09 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Thu, 19 Sep 2019 12:49:07 +0200 Message-Id: <20190919104907.18005-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 19 Sep 2019 10:49:14 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH] util/qemu-option: Document the get_opt_value() function X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Markus Armbruster Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Coverity noticed commit 950c4e6c94 introduced a dereference before null check in get_opt_value (CID1391003): In get_opt_value: All paths that lead to this null pointer comparison already dereference the pointer earlier (CWE-476) We fixed this in commit 6e3ad3f0e31, but relaxed the check in commit 0c2f6e7ee99 because "No callers of get_opt_value() pass in a NULL for the 'value' parameter". Since this function is publicly exposed, it risks new users to do the same error again. Avoid that documenting the 'value' argument must not be NULL. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/qemu/option.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/qemu/option.h b/include/qemu/option.h index 844587cab3..141d6a883d 100644 --- a/include/qemu/option.h +++ b/include/qemu/option.h @@ -28,6 +28,18 @@ =20 #include "qemu/queue.h" =20 +/** + * get_opt_value + * @p: a pointer to the option name, delimited by commas + * @value: a non-NULL pointer that will received the delimited options + * + * The @value char pointer will be allocated and filled with + * the delimited options. + * It is an error to pass a non-NULL @value parameter. + * + * Returns the position of the comma delimiter/zero byte after the + * option name in @p. + */ const char *get_opt_value(const char *p, char **value); =20 void parse_option_size(const char *name, const char *value, --=20 2.20.1