In some cases (late) errors would exit early without cleanup. Set result to 1 (failure) in those cases and fallthrough. That way we cleanup and might provide more hints to the user about what was wrong with the file.
* src/strip.c (handle_elf): Set result to 1 and fallthrough instead of return 1. Signed-off-by: Mark Wielaard <m...@klomp.org> --- src/strip.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/strip.c b/src/strip.c index 2a2cc801..7f4788b3 100644 --- a/src/strip.c +++ b/src/strip.c @@ -2543,8 +2543,7 @@ while computing checksum for debug information")); { error (0, 0, _("%s: error while creating ELF header: %s"), output_fname ?: fname, elf_errmsg (-1)); - cleanup_debug (); - return 1; + result = 1; } /* The new section header string table index. */ @@ -2552,8 +2551,7 @@ while computing checksum for debug information")); { error (0, 0, _("%s: error updating shdrstrndx: %s"), output_fname ?: fname, elf_errmsg (-1)); - cleanup_debug (); - return 1; + result = 1; } /* We have everything from the old file. */ @@ -2561,8 +2559,7 @@ while computing checksum for debug information")); { error (0, 0, _("%s: error while reading the file: %s"), fname, elf_errmsg (-1)); - cleanup_debug (); - return 1; + result = 1; } /* The ELF library better follows our layout when this is not a -- 2.41.0