From 9b041786ac76e925a664a44b1e0a0f8947643d5f Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sat, 30 Apr 2022 23:43:20 -0600 Subject: [PATCH] readelf: Don't error out on invalid interpreter path This lets us inspect ELF binaries with un-loadable program interpreters, same as binutils and llvm-readelf. --- Userland/Utilities/readelf.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Userland/Utilities/readelf.cpp b/Userland/Utilities/readelf.cpp index 2d811c4b8d..8403213c75 100644 --- a/Userland/Utilities/readelf.cpp +++ b/Userland/Utilities/readelf.cpp @@ -325,16 +325,14 @@ ErrorOr serenity_main(Main::Arguments arguments) if (interpreter_file_or_error.is_error()) { warnln("Unable to map interpreter file {}: {}", interpreter_path, interpreter_file_or_error.error()); - return -1; - } + } else { + auto interpreter_image_data = interpreter_file_or_error.value()->bytes(); - auto interpreter_image_data = interpreter_file_or_error.value()->bytes(); + ELF::Image interpreter_image(interpreter_image_data); - ELF::Image interpreter_image(interpreter_image_data); - - if (!interpreter_image.is_valid()) { - warnln("ELF interpreter image is invalid"); - return -1; + if (!interpreter_image.is_valid()) { + warnln("ELF interpreter image is invalid"); + } } int fd = TRY(Core::System::open(path, O_RDONLY));