diff --git a/vm/src/stdlib/builtins.rs b/vm/src/stdlib/builtins.rs index 4d11faf27..4c5579695 100644 --- a/vm/src/stdlib/builtins.rs +++ b/vm/src/stdlib/builtins.rs @@ -259,6 +259,11 @@ mod builtins { Either::A(ref a) => a.as_str().as_bytes(), Either::B(ref b) => b.as_bytes(), }; + for x in source { + if *x == 0 { + return Err(vm.new_value_error("source code string cannot contain null bytes".to_owned())); + } + } Ok(Either::A(vm.ctx.new_str(std::str::from_utf8(source).unwrap()))) },