mirror of https://github.com/acidanthera/audk.git
c44501b313
The UefiShell*CommandsLib instances have constructor functions that do something like: gHiiHandle = HiiAddPackages (...); ... ShellCommandRegisterCommandName (..., gHiiHandle, ...); and destructor functions that implement the following pattern: HiiRemovePackages (gHiiHandle); The -- semantic, not functional -- problem is that "gHiiHandle" is declared with type EFI_HANDLE, and not EFI_HII_HANDLE, in all of these library instances, even though HiiAddPackages() correctly returns EFI_HII_HANDLE, and HiiRemovePackages() takes EFI_HII_HANDLE. Once we fix the type of "gHiiHandle", it causes sort of a butterfly effect, because it is passed around widely. Track down and update all of those locations. The DynamicCommand lib instances use a similar pattern, so they are affected too. NOTE: in practice, this patch is a no-op, as both EFI_HII_HANDLE and EFI_HANDLE are typedefs to (VOID*). However, we shouldn't use EFI_HANDLE where semantically EFI_HII_HANDLE is passed around. 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: Zhichao Gao <zhichao.gao@intel.com> |
||
---|---|---|
.. | ||
Connect.c | ||
DevTree.c | ||
Devices.c | ||
Dh.c | ||
Disconnect.c | ||
Drivers.c | ||
DrvCfg.c | ||
DrvDiag.c | ||
OpenInfo.c | ||
Reconnect.c | ||
UefiShellDriver1CommandsLib.c | ||
UefiShellDriver1CommandsLib.h | ||
UefiShellDriver1CommandsLib.inf | ||
UefiShellDriver1CommandsLib.uni | ||
Unload.c |