mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Fix count variable calculation in typedarray copyWithin (#3158)
Fixes #3130 JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi aszilagy@inf.u-szeged.hu
This commit is contained in:
parent
3e23a3b62f
commit
0f754ff33c
@ -1873,16 +1873,16 @@ ecma_builtin_typedarray_prototype_copy_within (ecma_value_t this_arg, /**< this
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t distance = (int32_t) (end - start);
|
|
||||||
int32_t offset = (int32_t) (info.typedarray_length - target);
|
|
||||||
int32_t count = JERRY_MIN (distance, offset);
|
|
||||||
|
|
||||||
if (target >= info.typedarray_length || start >= end || end == 0)
|
if (target >= info.typedarray_length || start >= end || end == 0)
|
||||||
{
|
{
|
||||||
return ecma_copy_value (this_arg);
|
return ecma_copy_value (this_arg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
uint32_t distance = end - start;
|
||||||
|
uint32_t offset = info.typedarray_length - target;
|
||||||
|
uint32_t count = JERRY_MIN (distance, offset);
|
||||||
|
|
||||||
memmove (info.buffer_p + (target * info.element_size),
|
memmove (info.buffer_p + (target * info.element_size),
|
||||||
info.buffer_p + (start * info.element_size),
|
info.buffer_p + (start * info.element_size),
|
||||||
(size_t) (count * info.element_size));
|
(size_t) (count * info.element_size));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user