diff --git a/compiler/gen_wasm/src/wasm_module/sections.rs b/compiler/gen_wasm/src/wasm_module/sections.rs index 27f8d8ff45..782a97b043 100644 --- a/compiler/gen_wasm/src/wasm_module/sections.rs +++ b/compiler/gen_wasm/src/wasm_module/sections.rs @@ -516,7 +516,10 @@ impl<'a> DataSection<'a> { impl Serialize for DataSection<'_> { fn serialize(&self, buffer: &mut T) { - serialize_vector_section(buffer, SectionId::Data, &self.segments); + let total_payload_size = self.segments.iter().map(|seg| seg.init.len()).sum(); + if total_payload_size > 0 { + serialize_vector_section(buffer, SectionId::Data, &self.segments); + } } }