mirror of https://github.com/acidanthera/audk.git
d5e35fddec
In the FileBufferSave() function, we invoke ShellCloseFile() if "Directory Can Not Be Saved". The ShellCloseFile() function takes a (SHELL_FILE_HANDLE*) parameter called "FileHandle", and correctly passes the de-referenced (*FileHandle) to EFI_SHELL_CLOSE_FILE, which takes a SHELL_FILE_HANDLE. However, FileBufferSave() passes SHELL_FILE_HANDLE to ShellCloseFile(), not the expected (SHELL_FILE_HANDLE*). Correct it. This fixes an actual bug that has remained hidden for two reasons: - pointer-to-VOID converts from/to any pointer-to-object type silently, - the bug is on an error path which has likely never fired in practice. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Zhichao Gao <zhichao.gao@intel.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Zhichao Gao <zhichao.gao@intel.com> |
||
---|---|---|
.. | ||
Edit | ||
HexEdit | ||
SmbiosView | ||
Comp.c | ||
Compress.c | ||
Compress.h | ||
Dblk.c | ||
Dmem.c | ||
DmpStore.c | ||
EditInputBar.c | ||
EditInputBar.h | ||
EditMenuBar.c | ||
EditMenuBar.h | ||
EditStatusBar.c | ||
EditStatusBar.h | ||
EditTitleBar.c | ||
EditTitleBar.h | ||
EfiCompress.c | ||
EfiDecompress.c | ||
LoadPciRom.c | ||
MemMap.c | ||
Mm.c | ||
Mode.c | ||
Pci.c | ||
Pci.h | ||
SerMode.c | ||
SetSize.c | ||
SetVar.c | ||
UefiShellDebug1CommandsLib.c | ||
UefiShellDebug1CommandsLib.h | ||
UefiShellDebug1CommandsLib.inf | ||
UefiShellDebug1CommandsLib.uni |