From 13cb2118853f41fd20d4a46d00030bb368feb109 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Tue, 24 May 2022 19:26:10 -0300 Subject: [PATCH] bios_extract: Change a couple LHA header errors to warnings, fixes some random Award with a single bad module --- bios_extract/src/lh5_extract.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/bios_extract/src/lh5_extract.c b/bios_extract/src/lh5_extract.c index 1d6d6e4..1bf3e8f 100644 --- a/bios_extract/src/lh5_extract.c +++ b/bios_extract/src/lh5_extract.c @@ -122,10 +122,8 @@ LH5HeaderParse(unsigned char *Buffer, int BufferSize, /* verify checksum */ checksum = Buffer[1]; - if (calc_sum(Buffer + 2, header_size) != checksum) { - fprintf(stderr, "Error: Invalid lha header checksum.\n"); - return 0; - } + if (calc_sum(Buffer + 2, header_size) != checksum) + fprintf(stderr, "Warning: Invalid lha header checksum.\n"); *packed_size = le32toh(*(unsigned int *)(Buffer + 7)); *original_size = le32toh(*(unsigned int *)(Buffer + 11)); @@ -149,8 +147,9 @@ LH5HeaderParse(unsigned char *Buffer, int BufferSize, if (BufferSize < offset) { fprintf(stderr, - "Error: Buffer to small to contain extended header.\n"); - return 0; + "Warning: Buffer to small to contain extended header.\n"); + offset = header_size + 2; + break; } }