summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d3d562b)
UINT32 integer overflow will happen once the download OS image over
4G size. This patch is to fix this issue.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Zhang Lubo <lubo.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Sriram Subramanian <sriram-s@hpe.com>
\r
if (HttpInstance->LocalAddressIsIPv6) {\r
Rx6Token = &Wrap->TcpWrap.Rx6Token;\r
\r
if (HttpInstance->LocalAddressIsIPv6) {\r
Rx6Token = &Wrap->TcpWrap.Rx6Token;\r
- Rx6Token ->Packet.RxData->DataLength = (UINT32) HttpMsg->BodyLength;\r
- Rx6Token ->Packet.RxData->FragmentTable[0].FragmentLength = (UINT32) HttpMsg->BodyLength;\r
+ Rx6Token ->Packet.RxData->DataLength = (UINT32) MIN (MAX_UINT32, HttpMsg->BodyLength);\r
+ Rx6Token ->Packet.RxData->FragmentTable[0].FragmentLength = (UINT32) MIN (MAX_UINT32, HttpMsg->BodyLength);\r
Rx6Token ->Packet.RxData->FragmentTable[0].FragmentBuffer = (VOID *) HttpMsg->Body;\r
Rx6Token->CompletionToken.Status = EFI_NOT_READY;\r
\r
Rx6Token ->Packet.RxData->FragmentTable[0].FragmentBuffer = (VOID *) HttpMsg->Body;\r
Rx6Token->CompletionToken.Status = EFI_NOT_READY;\r
\r
}\r
} else {\r
Rx4Token = &Wrap->TcpWrap.Rx4Token;\r
}\r
} else {\r
Rx4Token = &Wrap->TcpWrap.Rx4Token;\r
- Rx4Token->Packet.RxData->DataLength = (UINT32) HttpMsg->BodyLength;\r
- Rx4Token->Packet.RxData->FragmentTable[0].FragmentLength = (UINT32) HttpMsg->BodyLength;\r
+ Rx4Token->Packet.RxData->DataLength = (UINT32) MIN (MAX_UINT32, HttpMsg->BodyLength);\r
+ Rx4Token->Packet.RxData->FragmentTable[0].FragmentLength = (UINT32) MIN (MAX_UINT32, HttpMsg->BodyLength);\r
Rx4Token->Packet.RxData->FragmentTable[0].FragmentBuffer = (VOID *) HttpMsg->Body;\r
\r
Rx4Token->CompletionToken.Status = EFI_NOT_READY;\r
Rx4Token->Packet.RxData->FragmentTable[0].FragmentBuffer = (VOID *) HttpMsg->Body;\r
\r
Rx4Token->CompletionToken.Status = EFI_NOT_READY;\r