[edk2-devel] [PATCH] NetworkPkg/IScsiDxe: Enhance the check for array boundary

Zhang, Shenglei posted 1 patch 4 years ago
Failed in applying to current master (apply log)
NetworkPkg/IScsiDxe/IScsiDhcp.c  | 2 +-
NetworkPkg/IScsiDxe/IScsiDhcp6.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
[edk2-devel] [PATCH] NetworkPkg/IScsiDxe: Enhance the check for array boundary
Posted by Zhang, Shenglei 4 years ago
Array 'TargetUrl' of size 255 may use index value(s) 255 and 256.
So enhance the boundary check to ensure the index is valid.

Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
 NetworkPkg/IScsiDxe/IScsiDhcp.c  | 2 +-
 NetworkPkg/IScsiDxe/IScsiDhcp6.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp.c b/NetworkPkg/IScsiDxe/IScsiDhcp.c
index 7ce9bf575012..afa8a86cd419 100644
--- a/NetworkPkg/IScsiDxe/IScsiDhcp.c
+++ b/NetworkPkg/IScsiDxe/IScsiDhcp.c
@@ -122,7 +122,7 @@ IScsiDhcpExtractRootPath (
   //
   if ((!NET_IS_DIGIT (*(Field->Str))) && (*(Field->Str) != '[')) {
     ConfigNvData->DnsMode = TRUE;
-    if (Field->Len > sizeof (ConfigNvData->TargetUrl)) {
+    if ((Field->Len + 2) > sizeof (ConfigNvData->TargetUrl)) {
       return EFI_INVALID_PARAMETER;
     }
     CopyMem (&ConfigNvData->TargetUrl, Field->Str, Field->Len);
diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp6.c b/NetworkPkg/IScsiDxe/IScsiDhcp6.c
index 86a872adeccc..691650b7334f 100644
--- a/NetworkPkg/IScsiDxe/IScsiDhcp6.c
+++ b/NetworkPkg/IScsiDxe/IScsiDhcp6.c
@@ -161,7 +161,7 @@ IScsiDhcp6ExtractRootPath (
   // Server name is expressed as domain name, just save it.
   //
   if (ConfigNvData->DnsMode) {
-    if (Field->Len > sizeof (ConfigNvData->TargetUrl)) {
+    if ((Field->Len + 2) > sizeof (ConfigNvData->TargetUrl)) {
       return EFI_INVALID_PARAMETER;
     }
     CopyMem (&ConfigNvData->TargetUrl, Field->Str, Field->Len);
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58045): https://edk2.groups.io/g/devel/message/58045
Mute This Topic: https://groups.io/mt/73237833/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] NetworkPkg/IScsiDxe: Enhance the check for array boundary
Posted by Siyuan, Fu 4 years ago
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Zhang,
> Shenglei
> Sent: 2020年4月24日 17:14
> To: devel@edk2.groups.io
> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>; Wu, Jiaxin
> <jiaxin.wu@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> Subject: [edk2-devel] [PATCH] NetworkPkg/IScsiDxe: Enhance the check for
> array boundary
> 
> Array 'TargetUrl' of size 255 may use index value(s) 255 and 256.
> So enhance the boundary check to ensure the index is valid.
> 
> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
>  NetworkPkg/IScsiDxe/IScsiDhcp.c  | 2 +-
>  NetworkPkg/IScsiDxe/IScsiDhcp6.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp.c
> b/NetworkPkg/IScsiDxe/IScsiDhcp.c
> index 7ce9bf575012..afa8a86cd419 100644
> --- a/NetworkPkg/IScsiDxe/IScsiDhcp.c
> +++ b/NetworkPkg/IScsiDxe/IScsiDhcp.c
> @@ -122,7 +122,7 @@ IScsiDhcpExtractRootPath (
>    //
>    if ((!NET_IS_DIGIT (*(Field->Str))) && (*(Field->Str) != '[')) {
>      ConfigNvData->DnsMode = TRUE;
> -    if (Field->Len > sizeof (ConfigNvData->TargetUrl)) {
> +    if ((Field->Len + 2) > sizeof (ConfigNvData->TargetUrl)) {
>        return EFI_INVALID_PARAMETER;
>      }
>      CopyMem (&ConfigNvData->TargetUrl, Field->Str, Field->Len);
> diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp6.c
> b/NetworkPkg/IScsiDxe/IScsiDhcp6.c
> index 86a872adeccc..691650b7334f 100644
> --- a/NetworkPkg/IScsiDxe/IScsiDhcp6.c
> +++ b/NetworkPkg/IScsiDxe/IScsiDhcp6.c
> @@ -161,7 +161,7 @@ IScsiDhcp6ExtractRootPath (
>    // Server name is expressed as domain name, just save it.
>    //
>    if (ConfigNvData->DnsMode) {
> -    if (Field->Len > sizeof (ConfigNvData->TargetUrl)) {
> +    if ((Field->Len + 2) > sizeof (ConfigNvData->TargetUrl)) {
>        return EFI_INVALID_PARAMETER;
>      }
>      CopyMem (&ConfigNvData->TargetUrl, Field->Str, Field->Len);
> --
> 2.18.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58130): https://edk2.groups.io/g/devel/message/58130
Mute This Topic: https://groups.io/mt/73237833/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-