From mboxrd@z Thu Jan 1 00:00:00 1970 Subject: [PATCH] MdeModulePkg/Bus/Ata/AtaBusDxe: Fix SIGN_EXTENSION Coverity issue To: devel@edk2.groups.io From: "Ranbir Singh" 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: Tue, 03 Jan 2023 21:57:31 -0800 Message-ID: Content-Type: multipart/alternative; boundary="SWAdvDO8pxKOZnHOu5j6" --SWAdvDO8pxKOZnHOu5j6 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Line number 365 does contain a typecast with UINT32, but it is after all the operations (16-bit left shift followed by OR'ing) are over. To avoid any SIGN_EXTENSION, typecast the intermediate result after 16-bit left shift operation immediately with UINT32. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4209 Signed-off-by: Ranbir Singh --- MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c b/MdeModul= ePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c index 4334169d25..081cd5595a 100644 --- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c +++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c @@ -362,7 +362,7 @@ IdentifyAtaDevice ( // Check logical block size // if ((PhyLogicSectorSupport & BIT12) !=3D 0) { -=C2=A0 =C2=A0 =C2=A0 BlockMedia->BlockSize =3D (UINT32)(((IdentifyData->lo= gic_sector_size_hi << 16) | IdentifyData->logic_sector_size_lo) * sizeof (U= INT16)); +=C2=A0 =C2=A0 =C2=A0 BlockMedia->BlockSize =3D (((UINT32)(IdentifyData->lo= gic_sector_size_hi << 16) | IdentifyData->logic_sector_size_lo) * sizeof (U= INT16)); } AtaDevice->BlockIo.Revision =3D EFI_BLOCK_IO_PROTOCOL_REVISION2; -- 2.36.1.windows.1 --SWAdvDO8pxKOZnHOu5j6 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
Line number 365 does contain a typecast with UINT32, but it is after
all the operations (16-bit left shift followed by OR'ing) are over.
To avoid any SIGN_EXTENSION, typecast the intermediate result after
16-bit left shift operation immediately with UINT32.
 
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4209
Signed-off-by: Ranbir Singh <Ranbir.Singh3@Dell.com>
---
 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 
diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c b/Mde= ModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c
index 4334169d25..081cd5595a 100644
--- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c
+++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaPassThruExecute.c
@@ -362,7 +362,7 @@ IdentifyAtaDevice (
     // Check logical block size
     //
     if ((PhyLogicSectorSupport & BIT12) !=3D 0) {<= /div>
-      BlockMedia->BlockSize =3D (UINT32)(((Identify= Data->logic_sector_size_hi << 16) | IdentifyData->logic_sector_= size_lo) * sizeof (UINT16));
+      BlockMedia->BlockSize =3D (((UINT32)(Identify= Data->logic_sector_size_hi << 16) | IdentifyData->logic_sector_= size_lo) * sizeof (UINT16));
     }
 
     AtaDevice->BlockIo.Revision =3D EFI_BLOCK_IO_PR= OTOCOL_REVISION2;
--
2.36.1.windows.1
--SWAdvDO8pxKOZnHOu5j6--