avm2: Don't attempt to print registers that are out-of-bounds.

This commit is contained in:
David Wendt 2022-09-16 17:31:28 -04:00 committed by kmeisthax
parent 38c6369f6e
commit 6f1509d4cd
1 changed files with 11 additions and 2 deletions

View File

@ -3088,9 +3088,18 @@ impl<'a, 'gc, 'gc_context> Activation<'a, 'gc, 'gc_context> {
) -> Result<FrameControl<'gc>, Error<'gc>> { ) -> Result<FrameControl<'gc>, Error<'gc>> {
if is_local_register { if is_local_register {
let register_name = self.pool_string(&method, register_name)?; let register_name = self.pool_string(&method, register_name)?;
let value = self.local_register(register as u32)?; if (register as usize) < self.local_registers.0.len() {
let value = self.local_register(register as u32)?;
avm_debug!(self.avm2(), "Debug: {} = {:?}", register_name, value); avm_debug!(self.avm2(), "Debug: {} = {:?}", register_name, value);
} else {
avm_debug!(
self.avm2(),
"Debug: {} = <out-of-bounds register #{}>",
register_name,
register
);
}
} else { } else {
avm_debug!(self.avm2(), "Unknown debugging mode!"); avm_debug!(self.avm2(), "Unknown debugging mode!");
} }