diff options
author | Julien Voisin <jvoisin@google.com> | 2022-10-13 14:13:19 +0200 |
---|---|---|
committer | Julien Voisin <jvoisin@google.com> | 2022-10-16 18:43:29 +0200 |
commit | 98ce79a52ca67e0d0b6b2c867c1aa327c6c58240 (patch) | |
tree | fcc8259480c46794d80fec2aa956f158fdd24961 /libarchive/archive_read_support_format_cab.c | |
parent | 552547eacf6bfbdf5052f33cad57f181b6f92a61 (diff) | |
download | libarchive-98ce79a52ca67e0d0b6b2c867c1aa327c6c58240.tar.gz |
Extend the usage of the DONT_FAIL_ON_CRC_ERROR macro
DONT_FAIL_ON_CRC_ERROR is already used in the rar5 support code, so let's make
use of it in another places as well. This should tremendously help with
fuzzing.
Diffstat (limited to 'libarchive/archive_read_support_format_cab.c')
-rw-r--r-- | libarchive/archive_read_support_format_cab.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libarchive/archive_read_support_format_cab.c b/libarchive/archive_read_support_format_cab.c index 433b5600..ea256cda 100644 --- a/libarchive/archive_read_support_format_cab.c +++ b/libarchive/archive_read_support_format_cab.c @@ -1171,12 +1171,14 @@ cab_checksum_finish(struct archive_read *a) cfdata->sum_calculated = cab_checksum_cfdata( cfdata->memimage + CFDATA_cbData, l, cfdata->sum_calculated); if (cfdata->sum_calculated != cfdata->sum) { +#ifndef DONT_FAIL_ON_CRC_ERROR archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Checksum error CFDATA[%d] %" PRIx32 ":%" PRIx32 " in %d bytes", cab->entry_cffolder->cfdata_index -1, cfdata->sum, cfdata->sum_calculated, cfdata->compressed_size); return (ARCHIVE_FAILED); +#endif } return (ARCHIVE_OK); } |