[vlc-devel] [PATCH 1/4] mkv/demux: fix 17567: null-pointer dereference in EnsureDuration

Filip Roséen filip at atch.se
Wed Nov 2 09:41:07 CET 2016

Hi again,

On 2016-11-02 09:22, Steve Lhomme wrote:

> No, a Cluster is not mandatory (I double checked the specs). There can
> be Matroska with just chapters and tags.

In order for us to actually play something, it is; and in order for
`EnsureDuration` to do what it is supposed to do - it definitely is
(given how the function is implemented).

> IMO EnsureDuration() has nothing to do with the fact that the current
> Cluster has no finite size. "Infinite" Clusters still have boundaries,
> and end and timestamps for each Cluster/Block.

It does, see `f275663`. By definition, if a cluster is infinite
there's nothing saying that we will ever get to the end, so I do not
see how the current implementation of `EnsureDuration` applies in such
case (given that it will read blocks until the very end in order to
know where the end actually is).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20161102/1dd5dce8/attachment.html>

More information about the vlc-devel mailing list