avm2: Propagate normal error for bad Multiname read in verifier
This commit is contained in:
parent
41bac2ce98
commit
24d194a8b1
|
@ -284,9 +284,8 @@ pub fn verify_method<'gc>(
|
||||||
| AbcOp::Coerce { index: name_index } => {
|
| AbcOp::Coerce { index: name_index } => {
|
||||||
let multiname = method
|
let multiname = method
|
||||||
.translation_unit()
|
.translation_unit()
|
||||||
.pool_maybe_uninitialized_multiname(name_index, &mut activation.context);
|
.pool_maybe_uninitialized_multiname(name_index, &mut activation.context)?;
|
||||||
|
|
||||||
if let Ok(multiname) = multiname {
|
|
||||||
if multiname.has_lazy_component() {
|
if multiname.has_lazy_component() {
|
||||||
// This matches FP's error message
|
// This matches FP's error message
|
||||||
return Err(Error::AvmError(verify_error(
|
return Err(Error::AvmError(verify_error(
|
||||||
|
@ -305,17 +304,13 @@ pub fn verify_method<'gc>(
|
||||||
activation,
|
activation,
|
||||||
&format!(
|
&format!(
|
||||||
"Error #1014: Class {} could not be found.",
|
"Error #1014: Class {} could not be found.",
|
||||||
multiname
|
multiname.to_qualified_name(activation.context.gc_context)
|
||||||
.to_qualified_name(activation.context.gc_context)
|
|
||||||
),
|
),
|
||||||
1014,
|
1014,
|
||||||
)
|
)
|
||||||
.expect("Error should construct"),
|
.expect("Error should construct"),
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
} else {
|
|
||||||
return Err(make_error_1032(activation, name_index.0));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_ => {}
|
_ => {}
|
||||||
|
|
Loading…
Reference in New Issue