diff --git a/swf/src/read.rs b/swf/src/read.rs index 6f91083a1..098ebeda4 100644 --- a/swf/src/read.rs +++ b/swf/src/read.rs @@ -758,14 +758,11 @@ impl<'a> Reader<'a> { fn read_tag_list(&mut self) -> Result>> { let mut tags = Vec::new(); loop { - match self.read_tag() { - Ok(Tag::End) => break, - Ok(tag) => tags.push(tag), - Err(err) => { - // We screwed up reading this tag in some way. - return Err(err); - } + let tag = self.read_tag()?; + if tag == Tag::End { + break; } + tags.push(tag); } Ok(tags) }