From 2fa0a7a3a46301b9d44cb18a0454e35d07a4bb4d Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 8 Sep 2017 17:12:32 -0700 Subject: [PATCH] Fix a confusion between EndDataSectionEntry and EndDataSectionEntryBody. --- lib/wasm/src/sections_translator.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/wasm/src/sections_translator.rs b/lib/wasm/src/sections_translator.rs index e2dae0a58c..3df3e7e3d9 100644 --- a/lib/wasm/src/sections_translator.rs +++ b/lib/wasm/src/sections_translator.rs @@ -295,7 +295,7 @@ pub fn parse_data_section( loop { let data = match *parser.read() { ParserState::DataSectionEntryBodyChunk(data) => data, - ParserState::EndDataSectionEntry => break, + ParserState::EndDataSectionEntryBody => break, ref s => return Err(SectionParsingError::WrongSectionContent(format!("{:?}", s))), }; match runtime.declare_data_initialization(memory_index as MemoryIndex, offset, data) { @@ -304,6 +304,10 @@ pub fn parse_data_section( }; offset += data.len(); } + match *parser.read() { + ParserState::EndDataSectionEntry => (), + ref s => return Err(SectionParsingError::WrongSectionContent(format!("{:?}", s))), + }; } Ok(()) }