RFC Errata
RFC 8878, "Zstandard Compression and the 'application/zstd' Media Type", February 2021
Source of RFC: IETF - NON WORKING GROUPSee Also: RFC 8878 w/ inline errata
Errata ID: 6442
Status: Verified
Type: Technical
Publication Format(s) : TEXT, PDF, HTML
Reported By: Felix Handte
Date Reported: 2021-02-25
Verifier Name: Barry Leiba
Date Verified: 2021-03-08
Section 3.1.1.5 says:
The following table shows the values of the Repeated_Offsets as a
series of sequences are applied to them:
+=======+==========+===========+===========+===========+============+
|offset_|literals_ | Repeated_ | Repeated_ | Repeated_ |Comment |
| value | length | Offset1 | Offset2 | Offset3 | |
+=======+==========+===========+===========+===========+============+
| | | 1 | 4 | 8 |starting |
| | | | | |values |
+-------+----------+-----------+-----------+-----------+------------+
| 1114| 11 | 1111 | 1 | 4 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 1| 22 | 1111 | 1 | 4 |repeat 1; no|
| | | | | |change |
+-------+----------+-----------+-----------+-----------+------------+
| 2225| 22 | 2222 | 1111 | 1 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 1114| 111 | 1111 | 2222 | 1111 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 3336| 33 | 3333 | 1111 | 2222 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 2| 22 | 1111 | 3333 | 2222 |repeat 2; |
| | | | | |swap 1 & 2 |
+-------+----------+-----------+-----------+-----------+------------+
| 3| 33 | 2222 | 1111 | 3333 |repeat 3; |
| | | | | |rotate 3 to |
| | | | | |1 |
+-------+----------+-----------+-----------+-----------+------------+
| 1| 0 | 2221 | 2222 | 1111 |insert |
| | | | | |resolved |
| | | | | |offset |
+-------+----------+-----------+-----------+-----------+------------+
| 1| 0 | 2222 | 2221 | 3333 |repeat 2 |
+-------+----------+-----------+-----------+-----------+------------+
Table 18: Repeated_Offsets
It should say:
The following table shows the values of the Repeated_Offsets as a
series of sequences are applied to them:
+=======+==========+===========+===========+===========+============+
|offset_|literals_ | Repeated_ | Repeated_ | Repeated_ |Comment |
| value | length | Offset1 | Offset2 | Offset3 | |
+=======+==========+===========+===========+===========+============+
| | | 1 | 4 | 8 |starting |
| | | | | |values |
+-------+----------+-----------+-----------+-----------+------------+
| 1114| 11 | 1111 | 1 | 4 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 1| 22 | 1111 | 1 | 4 |repeat 1; no|
| | | | | |change |
+-------+----------+-----------+-----------+-----------+------------+
| 2225| 22 | 2222 | 1111 | 1 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 1114| 111 | 1111 | 2222 | 1111 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 3336| 33 | 3333 | 1111 | 2222 |non-repeat |
+-------+----------+-----------+-----------+-----------+------------+
| 2| 22 | 1111 | 3333 | 2222 |repeat 2; |
| | | | | |swap 1 & 2 |
+-------+----------+-----------+-----------+-----------+------------+
| 3| 33 | 2222 | 1111 | 3333 |repeat 3; |
| | | | | |rotate 3 to |
| | | | | |1 |
+-------+----------+-----------+-----------+-----------+------------+
| 3| 0 | 2221 | 2222 | 1111 |insert |
| | | | | |resolved |
| | | | | |offset |
+-------+----------+-----------+-----------+-----------+------------+
| 1| 0 | 2222 | 2221 | 3333 |repeat 2 |
+-------+----------+-----------+-----------+-----------+------------+
Table 18: Repeated_Offsets
Notes:
The offset_value in the second-to-last line in the table should be 3, not 1. This line intends to demonstrate the property described earlier in the section that when the sequence's literals_length is 0, an offset_value of 3 resolves to Repeated_Offset1 - 1 and is inserted at the head of the Repeated_Offsets. This is the behavior that is reflected in the rest of the row, which an offset_value of 1 would not trigger (the resolved offset would be 2222, not 2221, and the Repeated_Offsets would remain unchanged, as demonstrated in the 3rd row of the table).
(I wrote this table and it read 3 in the version I provided to the document authors--a typo was introduced somewhere.)
