From: Jan Janssen Date: Sun, 29 May 2022 09:03:43 +0000 (+0200) Subject: boot: Don't copy device path X-Git-Tag: v252-rc1~835^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e17fd5538fb176a46f7589031da06b902573f64a;p=thirdparty%2Fsystemd.git boot: Don't copy device path BS->LocateDevicePath only advances the passed device path pointer. It does not actually modify it, so there is no need to make a copy. --- diff --git a/src/boot/efi/shim.c b/src/boot/efi/shim.c index 663eafbae41..20db89817a8 100644 --- a/src/boot/efi/shim.c +++ b/src/boot/efi/shim.c @@ -102,7 +102,6 @@ static EFIAPI EFI_STATUS security2_policy_authentication (const EFI_SECURITY2_PR static EFIAPI EFI_STATUS security_policy_authentication (const EFI_SECURITY_PROTOCOL *this, UINT32 authentication_status, const EFI_DEVICE_PATH_PROTOCOL *device_path_const) { EFI_STATUS status; - _cleanup_freepool_ EFI_DEVICE_PATH *dev_path = NULL; _cleanup_freepool_ CHAR16 *dev_path_str = NULL; EFI_HANDLE h; _cleanup_freepool_ CHAR8 *file_buffer = NULL; @@ -113,11 +112,7 @@ static EFIAPI EFI_STATUS security_policy_authentication (const EFI_SECURITY_PROT if (!device_path_const) return EFI_INVALID_PARAMETER; - dev_path = DuplicateDevicePath((EFI_DEVICE_PATH*) device_path_const); - if (!dev_path) - return EFI_OUT_OF_RESOURCES; - - EFI_DEVICE_PATH *dp = dev_path; + EFI_DEVICE_PATH *dp = (EFI_DEVICE_PATH *) device_path_const; status = BS->LocateDevicePath(&FileSystemProtocol, &dp, &h); if (EFI_ERROR(status)) return status;