]> git.proxmox.com Git - mirror_edk2.git/commit
ShellPkg/UefiShellDebug1CommandsLib: fix ShellCloseFile() call
authorLaszlo Ersek <lersek@redhat.com>
Fri, 6 Sep 2019 21:29:03 +0000 (23:29 +0200)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 9 Oct 2019 07:40:10 +0000 (09:40 +0200)
commitd5e35fddec9389b50b362c84eda6b47975b99fa0
tree7acccd7048cc7e1f77d26f6e3410b221aecda3a9
parent1b3115baad7fc4f5d0f2e57bd16d7902516e185b
ShellPkg/UefiShellDebug1CommandsLib: fix ShellCloseFile() call

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>
ShellPkg/Library/UefiShellDebug1CommandsLib/Edit/FileBuffer.c