From c54f4783d0cd51d8aad1c0a4fd9fe564d461aae4 Mon Sep 17 00:00:00 2001 From: elasota <1137273+elasota@users.noreply.github.com> Date: Mon, 1 Apr 2024 20:13:18 -0400 Subject: [PATCH] Specify that decoders may reject non-zero probabilities for larger offset codes than supported by the implementation --- doc/zstd_compression_format.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/zstd_compression_format.md b/doc/zstd_compression_format.md index 7955dae4a..8a60e56df 100644 --- a/doc/zstd_compression_format.md +++ b/doc/zstd_compression_format.md @@ -1129,7 +1129,10 @@ If the last symbol makes cumulated total go above `1 << Accuracy_Log`, distribution is considered corrupted. If this process results in a non-zero probability for a value outside of the valid range of values that the FSE table is defined for, even if that value is -not used, then the data is considered corrupted. +not used, then the data is considered corrupted. In the case of offset codes, +a decoder implementation may reject a frame containing a non-zero probability +for an offset code larger than the largest offset code supported by the decoder +implementation. Then the decoder can tell how many bytes were used in this process, and how many symbols are present.