[edk2] [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use

Jiaxin Wu posted 3 patches 7 years, 4 months ago
Only 2 patches received!
[edk2] [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use
Posted by Jiaxin Wu 7 years, 4 months ago
According the Spec, the FragmentBuffers in FragmentTable are allocated
by the application when calling Receive() function. This patch is to
check whether the FragmentBuffer is valid or not.

Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wang Fan <fan.wang@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
 NetworkPkg/TcpDxe/TcpMain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/NetworkPkg/TcpDxe/TcpMain.c b/NetworkPkg/TcpDxe/TcpMain.c
index fc3713e..e349d2d 100644
--- a/NetworkPkg/TcpDxe/TcpMain.c
+++ b/NetworkPkg/TcpDxe/TcpMain.c
@@ -38,10 +38,13 @@ TcpChkDataBuf (
   UINT32 Index;
 
   UINT32 Len;
 
   for (Index = 0, Len = 0; Index < FragmentCount; Index++) {
+    if (FragmentTable[Index].FragmentBuffer == NULL) {
+      return EFI_INVALID_PARAMETER;
+    }
     Len = Len + FragmentTable[Index].FragmentLength;
   }
 
   if (DataLen != Len) {
     return EFI_INVALID_PARAMETER;
-- 
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use
Posted by Fu, Siyuan 7 years, 4 months ago
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>

> -----Original Message-----
> From: Wu, Jiaxin
> Sent: Friday, December 22, 2017 3:07 PM
> To: edk2-devel@lists.01.org
> Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wang, Fan <fan.wang@intel.com>; Ye,
> Ting <ting.ye@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL
> before use
> 
> According the Spec, the FragmentBuffers in FragmentTable are allocated
> by the application when calling Receive() function. This patch is to
> check whether the FragmentBuffer is valid or not.
> 
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Cc: Wang Fan <fan.wang@intel.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> ---
>  NetworkPkg/TcpDxe/TcpMain.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/NetworkPkg/TcpDxe/TcpMain.c b/NetworkPkg/TcpDxe/TcpMain.c
> index fc3713e..e349d2d 100644
> --- a/NetworkPkg/TcpDxe/TcpMain.c
> +++ b/NetworkPkg/TcpDxe/TcpMain.c
> @@ -38,10 +38,13 @@ TcpChkDataBuf (
>    UINT32 Index;
> 
>    UINT32 Len;
> 
>    for (Index = 0, Len = 0; Index < FragmentCount; Index++) {
> +    if (FragmentTable[Index].FragmentBuffer == NULL) {
> +      return EFI_INVALID_PARAMETER;
> +    }
>      Len = Len + FragmentTable[Index].FragmentLength;
>    }
> 
>    if (DataLen != Len) {
>      return EFI_INVALID_PARAMETER;
> --
> 1.9.5.msysgit.1

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