Good idea, I agree.

Thanks,
Star
-----Original Message-----
From: Wu, Hao A 
Sent: Tuesday, July 3, 2018 9:05 AM
To: Zeng, Star <[email protected]>; [email protected]
Cc: Bi, Dandan <[email protected]>; Zeng, Star <[email protected]>
Subject: RE: [edk2] [PATCH] MdeModulePkg SataControllerDxe: Use compare logic 
in if condition

Maybe:
if ((Data32 & ((UINT32) 1 << MaxPortNumber)) != 0) { instead of:
if ((Data32 & (UINT32) (1 << MaxPortNumber)) != 0) {

to avoid possible undefined behavior for case like '1 << 31'?

Best Regards,
Hao Wu


> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of 
> Star Zeng
> Sent: Monday, July 02, 2018 5:42 PM
> To: [email protected]
> Cc: Wu, Hao A; Bi, Dandan; Zeng, Star
> Subject: [edk2] [PATCH] MdeModulePkg SataControllerDxe: Use compare 
> logic in if condition
> 
> Use compare logic in if condition to fix ECC issue.
> It is caused by aa4240edff41034d709938a15b42cf4fd3214386.
> 
> Cc: Hao Wu <[email protected]>
> Cc: Dandan Bi <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng <[email protected]>
> ---
>  MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c
> b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c
> index d47e918f5757..d3af4c626ef5 100644
> --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c
> +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c
> @@ -483,7 +483,7 @@ SataControllerStart (
>      }
>      MaxPortNumber = 31;
>      while (MaxPortNumber > 0) {
> -      if (Data32 & (1 << MaxPortNumber)) {
> +      if ((Data32 & (UINT32) (1 << MaxPortNumber)) != 0) {
>          break;
>        }
>        MaxPortNumber--;
> --
> 2.7.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to