Package: libebml / 1.3.4-1+deb9u1

Metadata

Package Version Patches format
libebml 1.3.4-1+deb9u1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Check the max size to read before actually reading.patch | (download)

src/EbmlElement.cpp | 8 7 + 1 - 0 !
1 file changed, 7 insertions(+), 1 deletion(-)

 check the max size to read before actually reading

The size check waas also missing from the length parsing

0002 Do not output an element with size Unknown if it s n.patch | (download)

src/EbmlElement.cpp | 14 6 + 8 - 0 !
1 file changed, 6 insertions(+), 8 deletions(-)

 do not output an element with size unknown if it's not allowed

Similar to what is done in FindNextID().

SetSizeInfinite() doesn't actually set anything. SetSizeIsFinite() is the one
that actually sets it and it is an internal API.

0003 Exit the max size loop when there s nothing left pos.patch | (download)

src/EbmlElement.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 exit the max size loop when there's nothing left possible to find

DataStream.getFilePointer() is not correct in this context. It might force to
exit too early.

0004 Rework the way we look at the end boundary when look.patch | (download)

src/EbmlElement.cpp | 12 8 + 4 - 0 !
1 file changed, 8 insertions(+), 4 deletions(-)

 rework the way we look at the end boundary when looking an element
 in a parent

The test `MaxDataSize >= (PossibleID_Length + PossibleSizeLength + SizeFound)`
is incorrect when there was garbage data skipped inside the PossibleIdNLength
table.

Now we keep track of how many memmove we had to do to know the real position of
the PossibleIdNLength data since we started reading. That allows a proper check
on the end value since that start.