]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
stub: normalize error handling when looking for PE sections
authorLennart Poettering <lennart@poettering.net>
Wed, 26 Jun 2024 10:05:04 +0000 (12:05 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 26 Jun 2024 15:09:45 +0000 (17:09 +0200)
src/boot/efi/stub.c

index a0237bf112fcf6e54bccf4bf50eebf9811791225..0fc9fd4effaba4d9e02619599955e1dc90ac0bb1 100644 (file)
@@ -882,11 +882,10 @@ static EFI_STATUS run(EFI_HANDLE image) {
                 return log_error_status(err, "Error getting a LoadedImageProtocol handle: %m");
 
         err = pe_memory_locate_sections(loaded_image->ImageBase, unified_sections, sections);
-        if (err != EFI_SUCCESS || !PE_SECTION_VECTOR_IS_SET(sections + UNIFIED_SECTION_LINUX)) {
-                if (err == EFI_SUCCESS)
-                        err = EFI_NOT_FOUND;
-                return log_error_status(err, "Unable to locate embedded .linux section: %m");
-        }
+        if (err != EFI_SUCCESS)
+                return log_error_status(err, "Unable to locate embedded PE sections: %m");
+        if (!PE_SECTION_VECTOR_IS_SET(sections + UNIFIED_SECTION_LINUX))
+                return log_error_status(EFI_NOT_FOUND, "Image lacks .linux section.");
 
         measure_sections(loaded_image, sections, &sections_measured);