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
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
© 2016 - 2025 Red Hat, Inc.