mirror of
https://github.com/wader/fq.git
synced 2024-11-26 21:55:57 +03:00
mp4,trun,fuzz: Limit number of constant sample entries
This commit is contained in:
parent
1500fd90e4
commit
c149732182
@ -12,6 +12,9 @@ import (
|
||||
"github.com/wader/fq/pkg/scalar"
|
||||
)
|
||||
|
||||
// TODO: keep track of list of sampleSize/entries instead and change sample read code
|
||||
const maxSampleEntryCount = 10_000_000
|
||||
|
||||
var boxAliases = map[string]string{
|
||||
"styp": "ftyp",
|
||||
}
|
||||
@ -539,10 +542,8 @@ func init() {
|
||||
})
|
||||
} else {
|
||||
if ctx.currentTrack != nil {
|
||||
// TODO: keep track of list of sampleSize/entries instead and change sample read code
|
||||
const maxEntryCount = 10_000_000
|
||||
if entryCount > maxEntryCount {
|
||||
d.Errorf("too many constant stsz entries %d > %d", entryCount, maxEntryCount)
|
||||
if entryCount > maxSampleEntryCount {
|
||||
d.Errorf("too many constant stsz entries %d > %d", entryCount, maxSampleEntryCount)
|
||||
}
|
||||
for i := uint64(0); i < entryCount; i++ {
|
||||
ctx.currentTrack.stsz = append(ctx.currentTrack.stsz, uint32(sampleSize))
|
||||
@ -765,6 +766,10 @@ func init() {
|
||||
d.FieldU32("first_sample_flags")
|
||||
}
|
||||
|
||||
if sampleCount > maxSampleEntryCount {
|
||||
d.Errorf("too many constant trun entries %d > %d", sampleCount, maxSampleEntryCount)
|
||||
}
|
||||
|
||||
d.FieldArray("samples", func(d *decode.D) {
|
||||
for i := uint64(0); i < sampleCount; i++ {
|
||||
sampleSize := m.defaultSampleSize
|
||||
|
Loading…
Reference in New Issue
Block a user