efi_loader: limit output length for VenHw, VenMedia
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Tue, 23 Feb 2021 20:15:35 +0000 (21:15 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 26 Feb 2021 15:17:43 +0000 (16:17 +0100)
commit9c081a7eabd4e5f54bd692df722705bc5ec57891
treebed684ad947097a349e3bec8827d45ef6b33e05b
parent95cacc86f2f4baa2d86f68a63baa9e8e797e4e46
efi_loader: limit output length for VenHw, VenMedia

VenHw and VenMedia device path nodes may carry vendor defined data of
arbitrary length. When converting a device path node to text ensure that we
do not overrun our internal buffer.

In our implementation of
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL.ConvertDevicePathToText() we could first
determine the output length and then allocate buffers but that would nearly
double the code size. Therefore keep the preallocated buffers and truncate
excessive device paths instead.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_device_path_to_text.c