From 8b5b135a2d08ed7b311fd0d081b32bd087e24d21 Mon Sep 17 00:00:00 2001 From: sleepycatcoding <131554884+sleepycatcoding@users.noreply.github.com> Date: Fri, 13 Oct 2023 00:37:12 +0300 Subject: [PATCH] avm2: Do not panic in XMLList call handler --- core/src/avm2/globals/xml_list.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/src/avm2/globals/xml_list.rs b/core/src/avm2/globals/xml_list.rs index d34b17abd..f3ecb74b4 100644 --- a/core/src/avm2/globals/xml_list.rs +++ b/core/src/avm2/globals/xml_list.rs @@ -83,12 +83,15 @@ pub fn call_handler<'gc>( _this: Object<'gc>, args: &[Value<'gc>], ) -> Result, Error<'gc>> { - // We do *not* create a new object when AS does 'XMLList(someXMLList)' - if let Some(obj) = args.try_get_object(activation, 0) { - if let Some(xml_list) = obj.as_xml_list_object() { - return Ok(xml_list.into()); + if args.len() == 1 { + // We do *not* create a new object when AS does 'XMLList(someXMLList)' + if let Some(obj) = args.try_get_object(activation, 0) { + if let Some(xml_list) = obj.as_xml_list_object() { + return Ok(xml_list.into()); + } } } + Ok(activation .avm2() .classes()