diff --git a/lib/common/cmp_error.c b/lib/common/cmp_error.c index b81e5954c973c9893c7f399177a46b87cc7ebd06..1579151a028294c9498e1f077aa41ec2f297529e 100644 --- a/lib/common/cmp_error.c +++ b/lib/common/cmp_error.c @@ -86,6 +86,8 @@ const char* cmp_get_error_string(enum cmp_error code) return "Specific compression parameters or combination is unsupported"; case CMP_ERROR_PAR_BUFFERS: return "Buffer related parameter is not valid"; + case CMP_ERROR_PAR_MAX_USED_BITS: + return "Maximum used bits parameters are not valid"; case CMP_ERROR_CHUNK_NULL: return "Pointer to the chunk is NULL. No data, no compression"; diff --git a/lib/common/cmp_error_list.h b/lib/common/cmp_error_list.h index f2f8bffbd2307dc7c420953c0cb56bd78d5eee67..e28eb940b90f468f942754f8dd8b54c9cab6ead9 100644 --- a/lib/common/cmp_error_list.h +++ b/lib/common/cmp_error_list.h @@ -34,6 +34,7 @@ enum cmp_error { CMP_ERROR_PAR_GENERIC = 20, CMP_ERROR_PAR_SPECIFIC = 21, CMP_ERROR_PAR_BUFFERS = 22, + CMP_ERROR_PAR_MAX_USED_BITS = 23, /* chunk errors */ CMP_ERROR_CHUNK_NULL = 40, CMP_ERROR_CHUNK_TOO_LARGE = 41, diff --git a/lib/icu_compress/cmp_icu.c b/lib/icu_compress/cmp_icu.c index 7df32bfec15f7068399ef997dce27167337ae75f..b0fd6cd2caba1588b1f88eac378b93217da3edf9 100644 --- a/lib/icu_compress/cmp_icu.c +++ b/lib/icu_compress/cmp_icu.c @@ -2031,7 +2031,7 @@ static uint32_t cmp_cfg_icu_is_invalid_error_code(const struct cmp_cfg *cfg) RETURN_ERROR_IF(cmp_cfg_icu_buffers_is_invalid(cfg), PAR_BUFFERS, ""); if (cfg->cmp_mode != CMP_MODE_RAW) - RETURN_ERROR_IF(cmp_cfg_icu_max_used_bits_out_of_limit(cfg->max_used_bits), GENERIC, ""); + RETURN_ERROR_IF(cmp_cfg_icu_max_used_bits_out_of_limit(cfg->max_used_bits), PAR_MAX_USED_BITS, ""); if (cmp_imagette_data_type_is_used(cfg->data_type)) { RETURN_ERROR_IF(cmp_cfg_imagette_is_invalid(cfg, ICU_CHECK), PAR_SPECIFIC, ""); @@ -2777,7 +2777,7 @@ uint32_t compress_chunk_cmp_size_bound(const void *chunk, size_t chunk_size) /* count the number of collections in the chunk */ for (read_bytes = 0; - read_bytes <= (int32_t)chunk_size-COLLECTION_HDR_SIZE; + read_bytes <= (int32_t)(chunk_size-COLLECTION_HDR_SIZE); read_bytes += cmp_col_get_size((const struct collection_hdr *)((const uint8_t *)chunk + read_bytes))) num_col++;