summaryrefslogtreecommitdiff
path: root/crates/parser/src/module.rs
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2023-12-06 02:08:39 +0100
committerHenry Gressmann <mail@henrygressmann.de>2023-12-06 02:08:39 +0100
commit5f928b74d20717342074bb29797c97d75120c21f (patch)
tree528390a6cdeb102e3cb1c403389221f28d914ea4 /crates/parser/src/module.rs
parentef4dbf261d13a72931887dad8db02d53a695a810 (diff)
feat: validate module opcodes, logging feature
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser/src/module.rs')
-rw-r--r--crates/parser/src/module.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/crates/parser/src/module.rs b/crates/parser/src/module.rs
index 5bdbcd8..69bb894 100644
--- a/crates/parser/src/module.rs
+++ b/crates/parser/src/module.rs
@@ -1,6 +1,6 @@
+use crate::log::debug;
use alloc::{boxed::Box, format, vec::Vec};
use core::fmt::Debug;
-use log::debug;
use tinywasm_types::{Export, FuncType, Instruction, ValType};
use wasmparser::{Payload, Validator};
@@ -124,9 +124,11 @@ impl ModuleReader {
}
CodeSectionEntry(function) => {
debug!("Found code section entry");
- validator.code_section_entry(&function)?;
+ let v = validator.code_section_entry(&function)?;
+ let func_validator = v.into_validator(Default::default());
- self.code_section.push(conversion::convert_module_code(function)?);
+ self.code_section
+ .push(conversion::convert_module_code(function, func_validator)?);
}
ImportSection(_reader) => {
return Err(ParseError::UnsupportedSection("Import section".into()));