audk/MdeModulePkg/Universal/Disk/UdfDxe
Hao Wu 27b9cb33e7 MdeModulePkg/UdfDxe: Memory free/use after free in ResolveSymlink()
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1279

For function ResolveSymlink(), the below codes:

    if (CompareMem ((VOID *)&PreviousFile, (VOID *)Parent,
                    sizeof (UDF_FILE_INFO)) != 0) {
      CleanupFileInformation (&PreviousFile);
    }

    CopyMem ((VOID *)&PreviousFile, (VOID *)File, sizeof (UDF_FILE_INFO));

If the contents in 'PreviousFile' and 'File' are the same, call to
"CleanupFileInformation (&PreviousFile);" will free the buffers in 'File'
as well. This will lead to potential memory double free/use after free
issues.

This commit will add additional check to address the above issue.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Paulo Alcantara <palcantara@suse.de>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-10-31 08:57:04 +08:00
..
ComponentName.c MdeModulePkg: Initial UDF/ECMA-167 file system support 2017-09-08 20:42:49 +02:00
File.c MdeModulePkg/UdfDxe: Update GetInfo() for FS VolumeLabel info request 2018-10-23 14:24:50 +08:00
FileName.c MdeModulePkg/Udf: Refine function description comments 2017-09-19 12:43:58 +08:00
FileSystemOperations.c MdeModulePkg/UdfDxe: Memory free/use after free in ResolveSymlink() 2018-10-31 08:57:04 +08:00
Udf.c MdeModulePkg/UDF: Fix creation of UDF logical partition 2017-09-25 15:36:27 +08:00
Udf.h MdeModulePkg/UdfDxe: Update GetInfo() for FS VolumeLabel info request 2018-10-23 14:24:50 +08:00
UdfDxe.inf MdeModulePkg/UdfDxe: Update GetInfo() for FS VolumeLabel info request 2018-10-23 14:24:50 +08:00