Skip to content

[1.x] EbmlHead: do not allow to have an infinite/unknown size#328

Merged
mbunkus merged 1 commit into
Matroska-Org:v1.xfrom
robUx4:1x-finite-head
Jul 5, 2026
Merged

[1.x] EbmlHead: do not allow to have an infinite/unknown size#328
mbunkus merged 1 commit into
Matroska-Org:v1.xfrom
robUx4:1x-finite-head

Conversation

@robUx4

@robUx4 robUx4 commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

It does not have 1 unknownsizeallowed set to true (default to false)

Footnotes

  1. https://www.rfc-editor.org/rfc/rfc8794.html#section-11.2.1

It does not have [^1]  unknownsizeallowed set to true (default to false)

[^1]: https://www.rfc-editor.org/rfc/rfc8794.html#section-11.2.1
@robUx4 robUx4 added the abi-break breaks the ABI (e.g. programs linked against the library have to be recompiled) label Apr 27, 2026
@robUx4

robUx4 commented Apr 27, 2026

Copy link
Copy Markdown
Contributor Author

On the 2.x branch the unknownsizeallowed capability is hardcoded in each element definition.

ePirat pushed a commit to videolan/vlc that referenced this pull request Apr 30, 2026
This will allow false detection of an invalid EBML header.

Submitted upstream [^1] but will need a new release as it might break the ABI.

Ref. #29578

[^1]: Matroska-Org/libebml#328
@robUx4

robUx4 commented May 2, 2026

Copy link
Copy Markdown
Contributor Author

According to abidiff this is not an ABI breakage. Although as seen in Matroska-Org/libmatroska#242 it's not entirely reliable.

ePirat pushed a commit to videolan/vlc that referenced this pull request May 7, 2026
This will allow false detection of an invalid EBML header.

Submitted upstream [^1] but will need a new release as it might break the ABI.

Ref. #29578

[^1]: Matroska-Org/libebml#328

(cherry picked from commit a8da8dc)
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
@mbunkus mbunkus merged commit b280370 into Matroska-Org:v1.x Jul 5, 2026
8 checks passed
@mbunkus

mbunkus commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

As the function in the base class is already virtual, this should indeed not be an ABI break.

Technically, this means that there's already been an entry in the class's vtable for the function. It now just points somewhere else, but that is totally fine for the ABI.

Semantically I agree with the change.

@robUx4 robUx4 deleted the 1x-finite-head branch July 6, 2026 06:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

abi-break breaks the ABI (e.g. programs linked against the library have to be recompiled)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants