raise an error if a private method is added twice to an object

This commit is contained in:
Fabrice Bellard
2023-12-13 18:59:47 +01:00
parent daa35bc1e5
commit 9e52965257
2 changed files with 6 additions and 8 deletions

View File

@@ -7336,6 +7336,12 @@ static int JS_AddBrand(JSContext *ctx, JSValueConst obj, JSValueConst home_obj)
return -1;
}
p1 = JS_VALUE_GET_OBJ(obj);
prs = find_own_property(&pr, p1, brand_atom);
if (unlikely(prs)) {
JS_FreeAtom(ctx, brand_atom);
JS_ThrowTypeError(ctx, "private method is already present");
return -1;
}
pr = add_property(ctx, p1, brand_atom, JS_PROP_C_W_E);
JS_FreeAtom(ctx, brand_atom);
if (!pr)