Correctly release values in TypedArray's toLocaleString (#4156)

When the `toLocaleString` was called on a TypedArray's value
the resulting object's `toString/valueOf` invocations could
create errors. These error values were not released.

In addition the input element value for the toString operation
was released twice in case of an error.

Fixes: #4148.

JerryScript-DCO-1.0-Signed-off-by: Peter Gal pgal.usz@partner.samsung.com
This commit is contained in:
Péter Gál
2020-08-24 14:50:18 +02:00
committed by GitHub
parent 84bc1e03fb
commit f2ff0d082f
3 changed files with 45 additions and 4 deletions
@@ -1950,15 +1950,15 @@ ecma_builtin_typedarray_prototype_to_locale_string_helper (ecma_object_t *this_o
ecma_string_t *str_p = ecma_op_to_string (call_value);
ecma_free_value (call_value);
if (JERRY_UNLIKELY (str_p == NULL))
{
ecma_free_value (element_value);
ecma_deref_object (element_obj_p);
return ECMA_VALUE_ERROR;
}
ret_value = ecma_make_string_value (str_p);
ecma_deref_ecma_string (str_p);
}
else
{