Jelajahi Sumber

LibJS: Use as_object instead of as_array in flatten_into_array

Since is_array does not guarantee that it is<Array> we must use
as_object here.
davidot 4 tahun lalu
induk
melakukan
ae8c4618b7
1 mengubah file dengan 2 tambahan dan 2 penghapusan
  1. 2 2
      Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp

+ 2 - 2
Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp

@@ -1845,10 +1845,10 @@ static size_t flatten_into_array(GlobalObject& global_object, Object& new_array,
         }
 
         if (depth > 0 && value.is_array(global_object)) {
-            auto length = length_of_array_like(global_object, value.as_array());
+            auto length = length_of_array_like(global_object, value.as_object());
             if (vm.exception())
                 return {};
-            target_index = flatten_into_array(global_object, new_array, value.as_array(), length, target_index, depth - 1);
+            target_index = flatten_into_array(global_object, new_array, value.as_object(), length, target_index, depth - 1);
             if (vm.exception())
                 return {};
             continue;