From adb575124d717b57bb2abb9e63875cb23601c44b Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Mon, 16 Apr 2018 07:59:07 +0200 Subject: [PATCH] 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 Signed-off-by: Alexander Graf --- lib/efi_loader/efi_device_path.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c index 9b4d9ae0ab..a2e48851d7 100644 --- a/lib/efi_loader/efi_device_path.c +++ b/lib/efi_loader/efi_device_path.c @@ -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);