diff --git a/lib/icu_compress/cmp_icu.c b/lib/icu_compress/cmp_icu.c index 1423c2cb54219b50febfe16ee16d50d45a54c537..05a47e77dabed3bdbe91c4e5f4186822f0e2b69b 100644 --- a/lib/icu_compress/cmp_icu.c +++ b/lib/icu_compress/cmp_icu.c @@ -2678,6 +2678,8 @@ int32_t compress_chunk(void *chunk, uint32_t chunk_size, debug_print("Error: The chunk contains collections with an incompatible mix of subservices.\n"); return -1; } + if (read_bytes + cmp_col_get_size(col) > chunk_size) + break; cmp_size_byte = cmp_collection((uint8_t *)col, col_model, col_up_model, dst, dst_capacity, &cfg, cmp_size_byte);