fixed minor corner case
This commit is contained in:
parent
2b361cf2f1
commit
06573e17be
@ -807,7 +807,8 @@ static seq_t ZSTD_decodeSequence(seqState_t* seqState)
|
|||||||
if (ofCode <= 1) {
|
if (ofCode <= 1) {
|
||||||
offset += (llCode==0);
|
offset += (llCode==0);
|
||||||
if (offset) {
|
if (offset) {
|
||||||
size_t const temp = (offset==3) ? seqState->prevOffset[0] - 1 : seqState->prevOffset[offset];
|
size_t temp = (offset==3) ? seqState->prevOffset[0] - 1 : seqState->prevOffset[offset];
|
||||||
|
temp += !temp; /* 0 is not valid; input is corrupted; force offset to 1 */
|
||||||
if (offset != 1) seqState->prevOffset[2] = seqState->prevOffset[1];
|
if (offset != 1) seqState->prevOffset[2] = seqState->prevOffset[1];
|
||||||
seqState->prevOffset[1] = seqState->prevOffset[0];
|
seqState->prevOffset[1] = seqState->prevOffset[0];
|
||||||
seqState->prevOffset[0] = offset = temp;
|
seqState->prevOffset[0] = offset = temp;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user