mirror of
https://github.com/golang/go
synced 2024-11-18 15:54:42 -07:00
internal/zstd: allow empty compressed blocks
For #62513
Change-Id: I295e72f71165665b8ea999e68a5586fa785b546d
GitHub-Last-Rev: 902e952d88
GitHub-Pull-Request: golang/go#63252
Reviewed-on: https://go-review.googlesource.com/c/go/+/531217
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
5152be3959
commit
1a51b59c11
@ -50,10 +50,9 @@ func (r *Reader) compressedBlock(blockSize int) error {
|
||||
if off < len(data) {
|
||||
return r.makeError(off, "extraneous data after no sequences")
|
||||
}
|
||||
if len(litbuf) == 0 {
|
||||
return r.makeError(off, "no sequences and no literals")
|
||||
}
|
||||
|
||||
r.buffer = append(r.buffer, litbuf...)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -374,9 +373,7 @@ func (r *Reader) execSeqs(data block, off int, litbuf []byte, seqCount int) erro
|
||||
}
|
||||
}
|
||||
|
||||
if len(litbuf) > 0 {
|
||||
r.buffer = append(r.buffer, litbuf...)
|
||||
}
|
||||
r.buffer = append(r.buffer, litbuf...)
|
||||
|
||||
if rbr.cnt != 0 {
|
||||
return r.makeError(off, "extraneous data after sequences")
|
||||
|
@ -90,6 +90,11 @@ var tests = []struct {
|
||||
"0\x00\x00\x00\x00\x000\x00\x00\x00\x00\x001\x00\x00\x00\x00\x000000",
|
||||
"(\xb5/\xfd\x04X\x8d\x00\x00P0\x000\x001\x000000\x03T\x02\x00\x01\x01m\xf9\xb7G",
|
||||
},
|
||||
{
|
||||
"empty block",
|
||||
"",
|
||||
"\x28\xb5\x2f\xfd\x00\x00\x15\x00\x00\x00\x00",
|
||||
},
|
||||
}
|
||||
|
||||
func TestSamples(t *testing.T) {
|
||||
|
Loading…
Reference in New Issue
Block a user