Comments (2)
Ok, I reopen the issue as the bof needs another solution (see issue #874).
EMBL lacing is explained here: lace and n are not really linked.
The data buffer is composed of:
- Byte 1 = lace = Number of frames minus 1.
- Then we have the size of first frame in VINT format.
- Then we have the size of following frames except last one, as a difference from previous frame size.
- Then we have the data for each frame. Size of last frame is the remaining bytes.
So we have to check when ready each frame size, that this frame size is not > remaining buffer bytes.
from tsmuxer.
Edit: @JP3BGY actually your POC is a specific case where there is only one frame in the EBML lacing. In which case, no need to deduct the size of the last frame from the remaining bytes.
So we just need to add if (laces > 1)
before lace_size[n] = size - total;
to solve the bof...
from tsmuxer.
Related Issues (20)
- heap buffer over read is found in MatroskaDemuxer::matroska_parse_block()
- heap buffer overflow is found in MatroskaDemuxer::matroska_add_stream()
- Null Pointer Dereference is found in MatroskaDemuxer::getTrackType()
- heap buffer "over-parse" is found in movDemuxer::mov_read_stsd
- heap buffer under-read is found in IOContextDemuxer::skip_bytes HOT 1
- heap buffer over-read is found in MovDemuxer::mov_read_esds
- negative size param is found in programStreamDemuxer::simpleDemuxBlock
- Maybe a TrueHD Atmos 7.1 bug
- stack buffer over-read is found in TS_program_map_section::extractPMTDescriptors
- stack buffer overflow is found in TSDemuxer::simpleDemuxBlock() HOT 1
- negative-size-param is found in TSDemuxer::getTrackList()
- Seems not shift the timeshift when specified in meta file
- Problem With Importing MP4 Files HOT 2
- Importing MTS Files WIth An Error
- MKV -> M2TS output out of sync HOT 2
- tsMuxer CLI lacks features of tsMuxer GUI HOT 1
- WARNING - MKV with DTS result in audio out of sync HOT 4
- Since when MP4 is not supported? HOT 2
- DVB subtitle stream not recognised and ignored HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tsmuxer.