efi_loader: correctly determine length of empty device path

efi_dp_size() is meant to return the device path length without the end
node.

The length of a device path containing only an end node was incorrectly
reported as 4.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Heinrich Schuchardt 2018-04-16 07:59:07 +02:00 committed by Alexander Graf
parent 07836345ba
commit adb575124d

View File

@ -234,6 +234,8 @@ unsigned efi_dp_size(const struct efi_device_path *dp)
{
unsigned sz = 0;
if (!dp || dp->type == DEVICE_PATH_TYPE_END)
return 0;
while (dp) {
sz += dp->length;
dp = efi_dp_next(dp);