Fix internal property listing in ecma_op_object_own_property_keys (#4461)

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2021-01-13 15:13:43 +01:00
committed by GitHub
parent c84afefd47
commit 3dc6ed0dd5
+6 -4
View File
@@ -2415,10 +2415,12 @@ ecma_op_object_own_property_keys (ecma_object_t *obj_p) /**< object */
{
ecma_property_pair_t *prop_pair_p = (ecma_property_pair_t *) prop_iter_p;
/* Internal properties are special properties so they must not be present. */
JERRY_ASSERT (ECMA_PROPERTY_GET_NAME_TYPE (*property_p) != ECMA_DIRECT_STRING_MAGIC
|| prop_pair_p->names_cp[i] < LIT_NON_INTERNAL_MAGIC_STRING__COUNT
|| prop_pair_p->names_cp[i] >= LIT_MAGIC_STRING__COUNT);
if (ECMA_PROPERTY_GET_NAME_TYPE (*property_p) == ECMA_DIRECT_STRING_MAGIC
&& prop_pair_p->names_cp[i] >= LIT_NON_INTERNAL_MAGIC_STRING__COUNT
&& prop_pair_p->names_cp[i] < LIT_MAGIC_STRING__COUNT)
{
continue;
}
ecma_string_t *name_p = ecma_string_from_property_name (*property_p,
prop_pair_p->names_cp[i]);