Skip to content

Commit 5423e14

Browse files
committed
EBML: Make use of max_id_length when reading
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
1 parent f3463d2 commit 5423e14

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/ebml/element_reader.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ pub struct ElementHeader {
1313
}
1414

1515
impl ElementHeader {
16-
fn read<R>(reader: &mut R, max_vint_length: u8) -> Result<Self>
16+
fn read<R>(reader: &mut R, max_id_length: u8, max_vint_length: u8) -> Result<Self>
1717
where
1818
R: Read,
1919
{
2020
Ok(Self {
21-
id: VInt::parse(reader, max_vint_length)?,
21+
id: VInt::parse(reader, max_id_length)?,
2222
size: VInt::parse(reader, max_vint_length)?,
2323
})
2424
}
@@ -141,7 +141,11 @@ where
141141
}
142142

143143
fn next_master(&mut self) -> Result<ElementReaderYield> {
144-
let header = ElementHeader::read(&mut self.reader, self.ctx.max_size_length)?;
144+
let header = ElementHeader::read(
145+
&mut self.reader,
146+
self.ctx.max_id_length,
147+
self.ctx.max_size_length,
148+
)?;
145149
let Some(master) = MASTER_ELEMENTS.get(&header.id) else {
146150
// We encountered an unknown master element
147151
return Ok(ElementReaderYield::Unknown(header));
@@ -164,7 +168,11 @@ where
164168
return self.next_master();
165169
}
166170

167-
let header = ElementHeader::read(&mut self.reader, self.ctx.max_size_length)?;
171+
let header = ElementHeader::read(
172+
&mut self.reader,
173+
self.ctx.max_id_length,
174+
self.ctx.max_size_length,
175+
)?;
168176

169177
let Some((_, child)) = current_master
170178
.children

0 commit comments

Comments
 (0)