-
-
Notifications
You must be signed in to change notification settings - Fork 447
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Rust code
fn check_file(path: &str) {
let Ok(file_content) = fs::read(path) else {
return;
};
println!("Checking file: {path}");
let mut context = Context::default();
let _result = context.eval(Source::from_bytes(&file_content));
}
when evaluating javascript code(at the bottom should be attached raw, not formatted file - github removes some non-printable characters, so copying from here may not work):
(function(){
var x=calEal=function(){eval('x')}})();try {calEal()}catch{}
crashes with this info:
thread 'main' (311070) panicked at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/get/name.rs:25:30:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/07d246fc6dc227903da2955b38a59e060539a485/library/std/src/panicking.rs:698:5
1: core::panicking::panic_fmt
at /rustc/07d246fc6dc227903da2955b38a59e060539a485/library/core/src/panicking.rs:75:14
2: core::panicking::panic_bounds_check
at /rustc/07d246fc6dc227903da2955b38a59e060539a485/library/core/src/panicking.rs:271:5
3: <usize as core::slice::index::SliceIndex<[T]>>::index
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/index.rs:265:10
4: core::slice::index::<impl core::ops::index::Index<I> for [T]>::index
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/index.rs:18:15
5: <alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:3621:9
6: boa_engine::environments::runtime::declarative::PoisonableEnvironment::get
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/environments/runtime/declarative/mod.rs:300:31
7: boa_engine::environments::runtime::<impl boa_engine::context::Context>::get_binding
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/environments/runtime/mod.rs:519:24
8: boa_engine::vm::opcode::get::name::GetName::operation
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/get/name.rs:25:30
9: boa_engine::vm::opcode::handle_get_name
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/mod.rs:313:17
10: boa_engine::vm::opcode::<impl boa_engine::context::Context>::execute_bytecode_instruction
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/mod.rs:464:9
11: core::ops::function::FnOnce::call_once
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:253:5
12: boa_engine::vm::<impl boa_engine::context::Context>::execute_instruction
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/mod.rs:649:9
13: boa_engine::vm::<impl boa_engine::context::Context>::execute_one
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/mod.rs:674:14
14: boa_engine::vm::<impl boa_engine::context::Context>::run
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/mod.rs:858:24
15: boa_engine::builtins::eval::Eval::perform_eval
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/builtins/eval/mod.rs:337:30
16: boa_engine::vm::opcode::call::CallEval::operation
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/call/mod.rs:69:30
17: boa_engine::vm::opcode::handle_call_eval
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/mod.rs:313:17
18: boa_engine::vm::opcode::<impl boa_engine::context::Context>::execute_bytecode_instruction
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/opcode/mod.rs:464:9
19: core::ops::function::FnOnce::call_once
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:253:5
20: boa_engine::vm::<impl boa_engine::context::Context>::execute_instruction
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/mod.rs:649:9
21: boa_engine::vm::<impl boa_engine::context::Context>::execute_one
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/mod.rs:674:14
22: boa_engine::vm::<impl boa_engine::context::Context>::run
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/vm/mod.rs:858:24
23: boa_engine::script::Script::evaluate
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/script.rs:172:30
24: boa_engine::context::Context::eval
at /home/runner/.cargo/git/checkouts/boa-126d820dff07bf57/8ea37c6/core/engine/src/context/mod.rs:202:41
25: boa::check_file
at ./src/crates/boa/src/main.rs:33:27
26: boa::main
at ./src/crates/boa/src/main.rs:22:9
27: core::ops::function::FnOnce::call_once
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:253:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working