mirror_edk2/MdeModulePkg/Universal
Heyi Guo 764c9d9551 MdeModulePkg/Ip4Dxe: fix ICMP echo reply memory leak
When UEFI receives ICMP echo packets it will enter Ip4IcmpReplyEcho
function, and then call Ip4Output. However, if Ip4Output gets some
error and exits early, e.g. fails to find the route entry, memory
buffer of "Data" gets no chance to be freed and memory leak will be
caused. If there is such an attacker in the network, we will see UEFI
runs out of memory and system hangs.

So we explicitly free the memory when error status is returned.

Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Junbiao Hong <hongjunbiao@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
2017-12-12 19:12:41 +08:00
..
Acpi MdeModulePkg/S3SaveState: Extract arguments in correct order 2017-10-10 13:23:10 +08:00
BdsDxe MdeModulePkg/BdsDxe: fall back to a Boot Manager Menu loop before hanging 2017-11-27 17:23:33 +01:00
BootManagerPolicyDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
CapsulePei MdeModulePkg CapsulePei: Sort and merge memory resource entries 2017-12-05 10:21:18 +08:00
CapsuleRuntimeDxe MdeModulePkg: Error Level is not used correctly 2017-04-12 08:56:12 +08:00
Console MdeModulePkg/TerminalDxe: Fix PCANSI mapping for TRIANGLE and ARROW 2017-11-13 09:39:04 -08:00
DebugPortDxe MdeModulePkg: Refine type cast for pointer subtraction 2017-03-06 14:14:09 +08:00
DebugSupportDxe MdeModulePkg/DebugSupportDxe: Fix XCODE5 build failure 2017-05-24 16:44:21 -07:00
DevicePathDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Disk MdeModulePkg/PartitionDxe: Remove unnecessary parentheses in 'if' 2017-12-06 08:47:52 +08:00
DisplayEngineDxe MdeModulePkg/DisplayEngineDxe: Remove unnecessary parentheses in 'if' 2017-12-06 08:47:56 +08:00
DriverHealthManagerDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DriverSampleDxe MdeModulePkg/DriverSample: Add questions with bit/union VarStore 2017-10-11 13:33:11 +08:00
EbcDxe MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
EsrtDxe MdeModulePkg: Update Ppi/Protocol/Guid usage in INF files 2017-10-10 18:10:25 +08:00
FaultTolerantWriteDxe MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
FaultTolerantWritePei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
FileExplorerDxe MdeModulePkg FileExplorerDxe: Change file format which has mixed file format. 2015-12-16 03:22:39 +00:00
FvSimpleFileSystemDxe MdeModulePkg: Fix misuses of AllocateCopyPool 2017-11-08 17:13:03 +08:00
HiiDatabaseDxe MdeModulePkg: Fix misuses of AllocateCopyPool 2017-11-08 17:13:03 +08:00
HiiResourcesSampleDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
LegacyRegion2Dxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
LoadFileOnFv2 MdeModulePkg LoadFileOnFv2: Correct the parameter name in function comment 2016-10-25 11:53:59 +08:00
LockBox/SmmLockBox MdeModulePkg: Error Level is not used correctly 2017-04-12 08:56:12 +08:00
MemoryTest MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00
Metronome MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
MonotonicCounterRuntimeDxe MdeModulePkg: Minor comments update to GetNextHighMonotonicCount() 2016-01-29 09:26:49 +00:00
Network MdeModulePkg/Ip4Dxe: fix ICMP echo reply memory leak 2017-12-12 19:12:41 +08:00
PcatSingleSegmentPciCfg2Pei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PCD MdeModulePkg PCD: Fix TmpTokenSpaceBufferCount not assigned correctly 2017-05-19 11:32:11 +08:00
PlatformDriOverrideDxe MdeModulePkg: Error Level is not used correctly 2017-04-12 08:56:12 +08:00
PrintDxe MdeModulePkg/PrintDxe: Handle the deprecation of [A|U]ValueToString 2017-03-02 09:59:06 +08:00
PropertiesTableAttributesDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
RegularExpressionDxe MdeModulePkg: Delete useless case code 2017-08-16 16:55:22 +08:00
ReportStatusCodeRouter MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
ResetSystemRuntimeDxe MdeModulePkg ResetSystem: Update the comments of ResetSystem() 2017-07-03 17:53:12 +08:00
SectionExtractionDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SectionExtractionPei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SecurityStubDxe MdeModulePkg: Update Ppi/Protocol/Guid usage in INF files 2017-10-10 18:10:25 +08:00
SerialDxe MdeModulePkg/SerialDxe: Do not fail reset when SetAttributes is not supported 2017-11-30 09:11:53 +08:00
SetupBrowserDxe MdeModulePkg: Fix MSFT C4255 warning 2017-11-14 18:18:43 +08:00
SmbiosDxe MdeModulePkg: Refine casting expression result to bigger size 2017-03-06 14:33:20 +08:00
SmbiosMeasurementDxe MdeModulePkg SmbiosMeasurementDxe: Skip measurement for OEM type 2017-09-18 10:19:40 +08:00
SmmCommunicationBufferDxe MdeModulePkg: Add new driver to publish EDKII_PI_SMM_COMMUNICATION_REGION_TABLE. 2016-04-29 12:49:09 +08:00
StatusCodeHandler MdeModulePkg/MemoryStatusCode: Expose the DXE memory status code table. 2016-06-29 09:46:51 +08:00
TimestampDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Variable MdeModulePkg: loose VA_COPY with no matching VA_END on a return path 2017-12-11 09:07:40 +08:00
WatchdogTimerDxe MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00