From nobody Sun May 19 02:26:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+97924+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+97924+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1672822626; cv=none; d=zohomail.com; s=zohoarc; b=bt1rApt3FuQtS0E+HjeLyjVxB+WNE5xSFE7K0KuQOnDOpNIBD0dKwffAYVJj62vyvO45tKPmNPfkZB52KL638qXg7dwmidw4IN1YfnbwqQmVuKETW9inywOwGVzA0mKtUQciwgDxYqLukzMYBe6kFATzc7pOHyY2Fixq4EFB7TE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672822626; h=Content-Type:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=sMjJx7k3xc577hUIymUwXate1bJEi8zDGQtQL8fbVD0=; b=c20uhYcfcWuIumdrFWd6243OJX/j0JTVn+HonN9KNqnNOmIueeoYXT7/uXOeWlsWmX99boBjV40OgRZHJOUP7rml0UgE0EiWZInZ8UIhOIhUx9s6I/OTl4zxlQnvTMhxLVV0ewbUkfjYFJWEu1hn8KOhkPWLOkb+J2WIYfXGVXQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+97924+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1672822626772905.2014364620612; Wed, 4 Jan 2023 00:57:06 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id yeCfYY1788612xFvk36Gs5ll; Wed, 04 Jan 2023 00:57:06 -0800 Subject: [edk2-devel] [PATCH] MdeModulePkg/Bus/Usb/UsbMouseDxe: Fix REVERSE_INULL Coverity issue To: devel@edk2.groups.io From: "Ranbir Singh via groups.io" X-Originating-Location: Bengaluru, Karnataka, IN (122.172.85.38) X-Originating-Platform: Windows Chrome 108 User-Agent: GROUPS.IO Web Poster MIME-Version: 1.0 Date: Wed, 04 Jan 2023 00:57:06 -0800 Message-ID: Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,Ranbir.Singh3@Dell.com X-Gm-Message-State: WZifp9i1JVDnEaOWEbHLRLa1x1787277AA= Content-Type: multipart/alternative; boundary="INpb7n5XViOJBZai5M69" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1672822626; bh=xYFkVdi6PweUoLqI7+0vVm/Zp4ztGnez3Y6FPHaOJ7U=; h=Content-Type:Date:From:Reply-To:Subject:To; b=bEsn+wgCssoCy938mJzKmxLfm6Gk6RgmqOLxy54v4f1u5QePEpXrCkCVa13U71QuCmb 2+9/AEQulqrVkJnP71lqEXynz9qHpuh5XJuWQz5c8pAqoTlluQuClBT7WOT6I5L15n5cq mkyF9dKqChuQuOEUK0EZp25HiNw+jdbo87Y= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1672822627503100001 --INpb7n5XViOJBZai5M69 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 The function USBMouseDriverBindingStart do have ASSERT (UsbMouseDevice !=3D NULL); after AllocateZeroPool, but it is applicable only in DEBUG mode. In RELEASE mode, the code proceeds to dereference "UsbMouseDevice" which will lead to CRASH. Hence, for safety add NULL pointer checks always. The ASSERT may be retained or it may be deleted whatever is deemed more appropriate. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4222 Signed-off-by: Ranbir Singh --- MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c b/MdeModulePkg/Bus= /Usb/UsbMouseDxe/UsbMouse.c index 451d4b934f..621d09713b 100644 --- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c +++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c @@ -161,6 +161,10 @@ USBMouseDriverBindingStart ( UsbMouseDevice =3D AllocateZeroPool (sizeof (USB_MOUSE_DEV)); ASSERT (UsbMouseDevice !=3D NULL); +=C2=A0 if (UsbMouseDevice =3D=3D NULL) { +=C2=A0 =C2=A0 Status =3D EFI_OUT_OF_RESOURCES; +=C2=A0 =C2=A0 goto ErrorExit; +=C2=A0 } UsbMouseDevice->UsbIo=C2=A0 =C2=A0 =C2=A0=3D UsbIo; UsbMouseDevice->Signature =3D USB_MOUSE_DEV_SIGNATURE; -- 2.36.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97924): https://edk2.groups.io/g/devel/message/97924 Mute This Topic: https://groups.io/mt/96046883/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- --INpb7n5XViOJBZai5M69 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
The function USBMouseDriverBindingStart do have
 
    ASSERT (UsbMouseDevice !=3D NULL);
 
after AllocateZeroPool, but it is applicable only in DEBUG mode.
In RELEASE mode, the code proceeds to dereference "UsbMouseDevice"
which will lead to CRASH.
 
Hence, for safety add NULL pointer checks always. The ASSERT may be
retained or it may be deleted whatever is deemed more appropriate.
 
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4222
Signed-off-by: Ranbir Singh <Ranbir.Singh3@Dell.com>
---
 MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c | 4 ++++
 1 file changed, 4 insertions(+)
 
diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c b/MdeModulePk= g/Bus/Usb/UsbMouseDxe/UsbMouse.c
index 451d4b934f..621d09713b 100644
--- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c
+++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c
@@ -161,6 +161,10 @@ USBMouseDriverBindingStart (
 
   UsbMouseDevice =3D AllocateZeroPool (sizeof (USB_MOUSE_DE= V));
   ASSERT (UsbMouseDevice !=3D NULL);
+  if (UsbMouseDevice =3D=3D NULL) {
+    Status =3D EFI_OUT_OF_RESOURCES;
+    goto ErrorExit;
+  }
 
   UsbMouseDevice->UsbIo     =3D UsbIo;
   UsbMouseDevice->Signature =3D USB_MOUSE_DEV_SIGNATURE;=
--
2.36.1.windows.1
_._,_._,_

Groups.io Links:

=20 You receive all messages sent to this group. =20 =20

= View/Reply Online (#97924) | =20 | Mute = This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [importer@patchew.org]

_._,_._,_
--INpb7n5XViOJBZai5M69--