From 3dc6ed0dd5dc2908cf7e82d45f908f9460f036a1 Mon Sep 17 00:00:00 2001 From: Zoltan Herczeg Date: Wed, 13 Jan 2021 15:13:43 +0100 Subject: [PATCH] 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 --- jerry-core/ecma/operations/ecma-objects.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/jerry-core/ecma/operations/ecma-objects.c b/jerry-core/ecma/operations/ecma-objects.c index 2dc872fa3..f4d1ae1db 100644 --- a/jerry-core/ecma/operations/ecma-objects.c +++ b/jerry-core/ecma/operations/ecma-objects.c @@ -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]);