From nobody Sun Feb 8 05:40:54 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1518713533966902.7772425036267; Thu, 15 Feb 2018 08:52:13 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B858CC058ED4; Thu, 15 Feb 2018 16:52:12 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9111E60CAD; Thu, 15 Feb 2018 16:52:12 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 57B4818033F9; Thu, 15 Feb 2018 16:52:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w1FGi5Nu025819 for ; Thu, 15 Feb 2018 11:44:05 -0500 Received: by smtp.corp.redhat.com (Postfix) id 2B6972024CAA; Thu, 15 Feb 2018 16:44:05 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.22.189]) by smtp.corp.redhat.com (Postfix) with ESMTP id C1E132024CA8; Thu, 15 Feb 2018 16:44:04 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Thu, 15 Feb 2018 16:43:28 +0000 Message-Id: <20180215164347.11538-24-berrange@redhat.com> In-Reply-To: <20180215164347.11538-1-berrange@redhat.com> References: <20180215164347.11538-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 23/42] remote: add default: case to all switch statements X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 15 Feb 2018 16:52:13 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Even if the compiler has validated that all enum constants have case statements in a switch, it is not safe to omit a default: case statement. When assigning a value to a variable / struct field that is defined with an enum type, nothing prevents an invalid value being assigned. So defensive code must assume existance of invalid values and thus all switches should have a default: case. Signed-off-by: Daniel P. Berrang=C3=A9 --- src/remote/remote_driver.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 9ea726dc45..bc4842fca6 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -1131,6 +1131,11 @@ doRemoteOpen(virConnectPtr conn, goto failed; =20 #endif /* WIN32 */ + + default: + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unexpected remote transport type %d"), transport= ); + goto failed; } /* switch (transport) */ =20 =20 @@ -3742,7 +3747,7 @@ remoteAuthenticate(virConnectPtr conn, struct private= _data *priv, #if WITH_SASL static int remoteAuthCredVir2SASL(int vircred) { - switch (vircred) { + switch ((virConnectCredentialType)vircred) { case VIR_CRED_USERNAME: return SASL_CB_USER; =20 @@ -3766,9 +3771,12 @@ static int remoteAuthCredVir2SASL(int vircred) =20 case VIR_CRED_REALM: return SASL_CB_GETREALM; - } =20 - return 0; + case VIR_CRED_EXTERNAL: + case VIR_CRED_LAST: + default: + return 0; + } } =20 static int remoteAuthCredSASL2Vir(int vircred) @@ -3797,9 +3805,10 @@ static int remoteAuthCredSASL2Vir(int vircred) =20 case SASL_CB_GETREALM: return VIR_CRED_REALM; - } =20 - return 0; + default: + return 0; + } } =20 /* --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list