From 6f146155f879ff42d465f0cca8ec2a7f8cb0961e Mon Sep 17 00:00:00 2001 From: Patrick Wildt Date: Thu, 7 May 2020 02:17:14 +0200 Subject: efi_loader: pkcs7_parse_message() returns error pointer Since pkcs7_parse_message() returns an error pointer, we must not check for NULL. We have to explicitly set msg to NULL in the error case, otherwise the call to pkcs7_free_message() on the goto err path will assume it's a valid object. Signed-off-by: Patrick Wildt Add missing include linux/err.h Reviewed-by: Heinrich Schuchardt --- lib/efi_loader/efi_image_loader.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/efi_loader/efi_image_loader.c') diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c index 5a9a6424cc1..ac4f65c9d82 100644 --- a/lib/efi_loader/efi_image_loader.c +++ b/lib/efi_loader/efi_image_loader.c @@ -14,6 +14,7 @@ #include #include #include "crypto/pkcs7_parser.h" +#include const efi_guid_t efi_global_variable_guid = EFI_GLOBAL_VARIABLE_GUID; const efi_guid_t efi_guid_device_path = EFI_DEVICE_PATH_PROTOCOL_GUID; @@ -538,8 +539,9 @@ static bool efi_image_authenticate(void *efi, size_t efi_size) } msg = pkcs7_parse_message((void *)wincert + sizeof(*wincert), wincert->dwLength - sizeof(*wincert)); - if (!msg) { + if (IS_ERR(msg)) { debug("Parsing image's signature failed\n"); + msg = NULL; goto err; } -- cgit v1.2.3 From d7ca3ce3d3b990503cb6e0bafad91aa2a7c96b9d Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Thu, 7 May 2020 17:57:43 +0200 Subject: efi_loader: crypto/pkcs7_parser.h is not a local include User <> and not "" for referencing a global include. Signed-off-by: Heinrich Schuchardt --- lib/efi_loader/efi_image_loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/efi_loader/efi_image_loader.c') diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c index ac4f65c9d82..4e075ae416e 100644 --- a/lib/efi_loader/efi_image_loader.c +++ b/lib/efi_loader/efi_image_loader.c @@ -13,7 +13,7 @@ #include #include #include -#include "crypto/pkcs7_parser.h" +#include #include const efi_guid_t efi_global_variable_guid = EFI_GLOBAL_VARIABLE_GUID; -- cgit v1.2.3