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

Steve Lhomme robux4 at gmail.com
Wed Nov 2 09:22:51 CET 2016

On Wed, Nov 2, 2016 at 9:19 AM, Filip Roséen <filip at atch.se> wrote:
> Hi Steve,
> On 2016-11-02 09:16, Steve Lhomme wrote:
>  The description of the fix seems logical but that's not what the code
>  does. I think EnsureDuration should keep the duration set to -1 if the
>  list of clusters is empty, it should not crash.
> Of course; EnsureDuration should not crash, but it currently assumes that at
> least one cluster is present in the file, which causes it to crash (on
> broken files where there is no cluster).
> Given that a cluster is mandatory, there is no need to call the function at

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

> all if there is no cluster; we won’t be able to play the file in either
> case.
> In what way does the patch not do what the description states it does?

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.

> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

More information about the vlc-devel mailing list