diff mbox series

[edk2,4/6] BaseTools/DevicePath: use MAX_UINT16 as default device path max size

Message ID 20181129123129.25095-5-ard.biesheuvel@linaro.org
State Superseded
Headers show
Series BaseTools: get rid of MAX_UINTN | expand

Commit Message

Ard Biesheuvel Nov. 29, 2018, 12:31 p.m. UTC
Replace the default size limit of IsDevicePathValid() with a value
that does not depend on the native word size of the build host.

64 KB seems sufficient as the upper bound of a device path handled
by UEFI.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
 BaseTools/Source/C/DevicePath/DevicePathUtilities.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.19.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Carsey, Jaben Nov. 29, 2018, 3:18 p.m. UTC | #1
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>


> -----Original Message-----

> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of

> Ard Biesheuvel

> Sent: Thursday, November 29, 2018 4:31 AM

> To: edk2-devel@lists.01.org

> Cc: Laszlo Ersek <lersek@redhat.com>; Gao, Liming <liming.gao@intel.com>

> Subject: [edk2] [PATCH 4/6] BaseTools/DevicePath: use MAX_UINT16 as

> default device path max size

> 

> Replace the default size limit of IsDevicePathValid() with a value

> that does not depend on the native word size of the build host.

> 

> 64 KB seems sufficient as the upper bound of a device path handled

> by UEFI.

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---

>  BaseTools/Source/C/DevicePath/DevicePathUtilities.c | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/BaseTools/Source/C/DevicePath/DevicePathUtilities.c

> b/BaseTools/Source/C/DevicePath/DevicePathUtilities.c

> index d4ec2742b7c8..ba7f83e53070 100644

> --- a/BaseTools/Source/C/DevicePath/DevicePathUtilities.c

> +++ b/BaseTools/Source/C/DevicePath/DevicePathUtilities.c

> @@ -62,7 +62,7 @@ IsDevicePathValid (

>    ASSERT (DevicePath != NULL);

> 

>    if (MaxSize == 0) {

> -    MaxSize = MAX_UINTN;

> +    MaxSize = MAX_UINT16;

>   }

> 

>    //

> @@ -78,7 +78,7 @@ IsDevicePathValid (

>        return FALSE;

>      }

> 

> -    if (NodeLength > MAX_UINTN - Size) {

> +    if (NodeLength > MAX_UINT16 - Size) {

>        return FALSE;

>      }

>      Size += NodeLength;

> --

> 2.19.1

> 

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
diff mbox series

Patch

diff --git a/BaseTools/Source/C/DevicePath/DevicePathUtilities.c b/BaseTools/Source/C/DevicePath/DevicePathUtilities.c
index d4ec2742b7c8..ba7f83e53070 100644
--- a/BaseTools/Source/C/DevicePath/DevicePathUtilities.c
+++ b/BaseTools/Source/C/DevicePath/DevicePathUtilities.c
@@ -62,7 +62,7 @@  IsDevicePathValid (
   ASSERT (DevicePath != NULL);
 
   if (MaxSize == 0) {
-    MaxSize = MAX_UINTN;
+    MaxSize = MAX_UINT16;
  }
 
   //
@@ -78,7 +78,7 @@  IsDevicePathValid (
       return FALSE;
     }
 
-    if (NodeLength > MAX_UINTN - Size) {
+    if (NodeLength > MAX_UINT16 - Size) {
       return FALSE;
     }
     Size += NodeLength;